在 SwiftyJSON 中正确循环和检索值
Correctly loop and retrieve value in SwiftyJSON
我正在尝试找到一种正确的方法来循环和检索 SwiftyJSON 中的值。
请参阅下面代码中的注释。
audioReq.executeWithResultBlock({
response in
let json = JSON(response.json)
for (key, subJson) in json {
if let title = subJson[key].string { //<-- Loop does not work!
println(title) // It prints nothing!
}
}
if let title = json[0]["first_name"].string {
println(title) //<-- Works
}
if let title = json[0]["last_name"].string {
println(title) //<-- Works
}
if let title = json[0][1].string {
println(title) //<-- Does not work!
} // Prints nothing!
if let title = json[0]["id"].string {
println(title) //<-- Does not work!
} // Prints nothing!
println(response.json)
},
errorBlock: {(error:NSError!) -> Void in
println(error.localizedDescription)
})
response.json 的内容:
(
{
"first_name" = "Dachnik";
id = 12345678; // should be "id" = 12345678
"last_name" = "Neudachnik";
}
)
您正在使用数组而不是字典。应该起作用的是
for (key, subJson) in json[0] {
if let title = subJson[key].string { //<-- Loop does not work!
println(title) // It prints nothing!
}
}
如果你有多个用户,那么你应该做类似的事情(这里没有 MAC)
for dict in json {
// go through dictionary elements here: first_name, last_name, id
// you can use same for loop as above
}
我正在尝试找到一种正确的方法来循环和检索 SwiftyJSON 中的值。 请参阅下面代码中的注释。
audioReq.executeWithResultBlock({
response in
let json = JSON(response.json)
for (key, subJson) in json {
if let title = subJson[key].string { //<-- Loop does not work!
println(title) // It prints nothing!
}
}
if let title = json[0]["first_name"].string {
println(title) //<-- Works
}
if let title = json[0]["last_name"].string {
println(title) //<-- Works
}
if let title = json[0][1].string {
println(title) //<-- Does not work!
} // Prints nothing!
if let title = json[0]["id"].string {
println(title) //<-- Does not work!
} // Prints nothing!
println(response.json)
},
errorBlock: {(error:NSError!) -> Void in
println(error.localizedDescription)
})
response.json 的内容:
(
{
"first_name" = "Dachnik";
id = 12345678; // should be "id" = 12345678
"last_name" = "Neudachnik";
}
)
您正在使用数组而不是字典。应该起作用的是
for (key, subJson) in json[0] {
if let title = subJson[key].string { //<-- Loop does not work!
println(title) // It prints nothing!
}
}
如果你有多个用户,那么你应该做类似的事情(这里没有 MAC)
for dict in json {
// go through dictionary elements here: first_name, last_name, id
// you can use same for loop as above
}