使用Swift解析JSON问题
问题描述:
我有一个JSON文件和这个人对象。每个人都有不同的信息。这是JSON文件的结构。使用Swift解析JSON问题
[
{
"person": {
"name": "Dani",
"job": "Artist",
"country": "FR",
"sold": "992",
"email": "Dani",
"facebook": "Artist",
"twitter": "Dani",
"instagram": "Artist",
"snapchat": "Dani",
"photo": "Artist"
}
},
{
"person": {
"name": "Alex",
"job": "",
"country": "TU",
"sold": "992",
"email": "Dani",
"facebook": "Artist",
"twitter": "Dani",
"instagram": "Artist",
"snapchat": "Dani",
"photo": "Artist"
}
}
]
我能打开json文件,但我无法解析它。这是我的代码
func lodData()
{
let data = NSData(contentsOfURL: url!)
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
if let person = json["person"] as? [[String: AnyObject]] {
for p in person {
if let name = p["name"] as? String {
names.append(name)
}
}
}
} catch {
print("error serializing JSON: \(error)")
}
print(names)
}
因为名称数组仍为空。
答
人[String: String]
意味着字典不是一个数组...。你可以做这样的事情
if let data = json as? [[String: AnyObject]] {
for p in data {
if let person = p["person"] as? [String: String]{
names.append(person["name"])
}
}
}
你需要学习这样的回答: - http://*.com/questions/25621120/simple-and -clean-way-to-convert-json-string-to-object-in-swift –
@ ei-captain-v2-0此问题与iOS没有特别的关系。所有的方法都来自基金会。 – Moritz
结构的顶层是一个数组。人字典也包含一个不必要的字典。 – Desdenova