我有一些看起来像this的JSON数据,我试图在Swift中解析它。
[
[
{
a: "1",
b: "2"
},
[
{
c: "3",
},
{
d: "4",
}
]
]
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
if let myArray = json[0] as? [[AnyObject]] {
for myObject in myArray {
print("This works!\(myObject)")
}
}
然而,我尝试的任何东西似乎都没有用 - 任何帮助都会受到赞赏。
答案 0 :(得分:0)
您可以使用SwiftyJSON - https://github.com/SwiftyJSON/SwiftyJSON
或者根据你的JSON方案创建一个类,试着用它解析。
像:
class object
{
let data = Array<subObject>()
}
class subObject
{
let subData = Array<Dictionary<AnyObject,AnyObject>>()
}
答案 1 :(得分:0)
此代码段不是JSON。如果它是JSON,则键将是字符串,如下所示:
[
[
{
"a": "1",
"b": "2"
},
[
{
"c": "3",
},
{
"d": "4",
}
]
]
]
无论如何在屏幕截图中我们看到您的JSON已被解析!
您在图像中显示的内容也不是JSON,而是包含数组和词典的数组......
但是,假设您的JSON实际上是有效的,缺少的引号只是一个复制/粘贴问题。
然后,为了实现您的目标,您必须将NSJSONSerialization的结果转换为正确的JSON格式,然后您可以访问内部对象。
像这样,例如:
do {
if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [[AnyObject]] {
if let myArray = json.first {
for myObject in myArray {
print("This works!\(myObject)")
}
}
}
} catch let error as NSError {
print(error.localizedDescription)
}