一尘不染

如何使用SwiftyJSON遍历JSON?

swift

我有一个可以用SwiftyJSON解析的json:

if let title = json["items"][2]["title"].string {
     println("title : \(title)")
}

完美运作。

但是我无法遍历它。我尝试了两种方法,第一种是

// TUTO :
//If json is .Dictionary
for (key: String, subJson: JSON) in json {
    ...
}
// WHAT I DID :
for (key: "title", subJson: json["items"]) in json {
    ...
}

XCode不接受for循环声明。

第二种方法:

// TUTO :
if let appArray = json["feed"]["entry"].arrayValue {
     ...
}
// WHAT I DID :
if let tab = json["items"].arrayValue {
     ...
}

XCode不接受if语句。

我究竟做错了什么 ?


阅读 350

收藏
2020-07-07

共1个答案

一尘不染

如果要遍历json["items"]数组,请尝试:

for (key, subJson) in json["items"] {
    if let title = subJson["title"].string {
        println(title)
    }
}

至于第二种方法,.arrayValue返回 Optional数组,应该使用.array

if let items = json["items"].array {
    for item in items {
        if let title = item["title"].string {
            println(title)
        }
    }
}
2020-07-07