这是 JSON 怪人吗? - 斯威夫特JSON

Is this JSON oddball ? - SwiftyJSON

我得到了不寻常的 json(实际上来自 IBM Bluemix),如下所示,

谢天谢地,值得信赖和温暖的 SwiftyJSON 能够像这样获取值...

let mauves = json["blue"][0]["brown"][0]["mauve"]

但是,请注意 JSON 中有一些奇怪的 "empty unnamed array nested things"(因此 [0] 调用了 Swifty)。

我的问题,简而言之,

这有效吗json?

即使有效,也是"crappy"吗?还是我错了,这完全是惯用语? (也许我几十年来一直在约会错误的服务,我不知道。)

我很欣赏 运行 它通过在线验证器似乎说 "valid"(除了这个 http://json.parser.online.fr 给出红色的东西),但是,你知道,谁信任在线服务?请教高手SO....)

--
{
  "red" : 1,
  "green" : 4,
  "blue" : [
    {
      "yellow" : "word",
      "brown" : [
        {
          "orange" : "1826662593",
          "gold" : "23123",
          "mauve" : [
            {
              "a" : "Beagle",
              "b" : 0.979831
            },
            {
              "a" : "Chow",
              "b" : 0.937588
            },
            {
              "a" : "Hound",
              "b" : 0.987798
            }
          ]
        }
      ]
    }
  ]
}
--

JSON有效。 blue 成员包含一个带有 1 元素的数组(在索引 [0] 处,这是 yellow 对象,并且对于 orange.

当我将它粘贴到 json.parser.online.fr 时,它报告它对我有效 - 你是不是不小心在它周围包含了其他文本?

JSON 是完全有效的 - 你的验证器没有骗你。我不知道这个 JSON 是否包含真正的键,或者是否更改了名称以保护无辜者(这看起来确实是胡说八道),但在现实世界中,经常有包含一个元素的数组(因为它们可能包含零个或多个元素!)。