SwiftyJSON循环遍历JSON对象数组

时间:2015-04-20 20:15:53

标签: json swift swifty-json

[
    {
        "cont": 9714494770,
        "id": "1",
        "name": "Kakkad"
    },
    {
        "cont": 9714494770,
        "id": "2",
        "name": "Ashish"
    }
]

上面的一个是一个充满JSON对象的json数组。我不知道如何使用SwiftyJSON解析这个问题

4 个答案:

答案 0 :(得分:12)

适用于您的数据的SwiftyJSON页面示例:

let json = JSON(data: dataFromNetworking)
for (index, object) in json {
    let name = object["name"].stringValue
    println(name)
}

答案 1 :(得分:2)

假设[{"id":"1", "name":"Kakkad", "cont":"9714494770"},{"id":"2", "name":"Ashish", "cont":"9714494770"}]被分配给名为jsonData的属性。

let sampleJSON = JSON(data: jsonData)

let sampleArray = sampleJSON.array sampleArray是一个可选的JSON对象数组。

let firstDict = sampleArray[0] firstDict是一个可选的JSON词典。

let name = firstDict["name"]是一个可选的JSON对象

let virtName = name.string是一个可选字符串(在本例中为" Kakkad")。

let realName = name.stringValue realName是一个字符串或空字符串。

你也可以使用: let longName = sampleJSON[0]["name"].stringValue

使用数据初始化JSON对象后,所有元素都是JSON类型,直到将它们转换为swift类型。

  • .string optional(string or null)
  • .stringValue string或""空 字符串
  • .dict optional([String:AnyObject]或null)
  • .dictValue ([String:AnyObject]或String:AnyObject)

答案 2 :(得分:0)

对于Swift4,我更新了Moritz答案的代码

{{1}}

答案 3 :(得分:0)

快速3或4 代码,如下所示:

let json = JSON(yourData)
for (_, object) in json {
    let cont = object["cont"].stringValue
    print(cont)
}

如果您使用的是代码中的任意位置,则可以放置 index 而不是 _ 。如果您不使用变量,则最好输入_(XCode还会发出警告)。