初始化:
let json = JSON(data: dataFromNetworking)
//这里的object是AnyObject,但是必须是能转会成JSON的数据类型。传错也没关系,最多你后面再也取不到数据了。
let json = JSON(jsonObject)
Subscript “下标?”:
从一个假定对应的是数组里面取double
let name = json[0].double
从一个假定对应的是字典里面取stringValue,注意多了一个Value
let name = json["name"].stringValue
好玩的来了,从一个数组(好似一个路径中)取string
let name = json[1,"list",2,"name"].string
//上面下面实际上是一样的
let name = json[1]["like"][2]["name"].string
来一个笨办法,但是以后会好玩。
let name = json[[1,"list",2,"name"]].string
看起来很蠢,但是可以这样写,以后可以动态的调整你要取得数据路径,也就是可以用配置来取数据(这句话没理解没关系)。
let path = [1,"list",2,"name"]
let name = json[path].string
循环,这个必须有
循环字典:第一个参数是一个key, 第二个参数是JSON
//If json is .Dictionary
for (key: String, subJson: JSON) in json {
//Do something you want
}
循环数组,注意循环数组也只能用元组,第一个参数是一个string的index, 第二个参数是JSON
//If json is .Array
//The `index` is 0..<json.count's string value
for (index: String, subJson: JSON) in json {
//Do something you want
}
上面就是最重要的几个部分。其余去看英文版,看代码就能懂。改天再来写。