【发布时间】:2018-03-12 11:18:08
【问题描述】:
我在 Swift 4 和 Alamofire 中有这段代码:
Alamofire.request("http://xxxx.pl/id=1", method: .get, parameters: nil)
.responseJSON { response in
let jsonResponse = JSON(response.result.value!)
let resData = jsonResponse["ranking"].array
print("XXXX: \(jsonResponse)")
}
.responseString { response in
if let error = response.result.error {
print(error)
}
if let value = response.result.value {
print(value)
}
}
运行此代码后,我得到一个带有以下参数的 json:
XXXX: {
"ranking" : {
"dataWidoczneOd" : {
"second" : 0,
"year" : 2018,
"month" : 2,
"hourOfDay" : 0,
"dayOfMonth" : 1,
"minute" : 0
}
"opis" : "cx",
"id" : 50971,
"dataWidoczneDo" : {
"second" : 0,
"year" : 2018,
"month" : 2,
"hourOfDay" : 0,
"dayOfMonth" : 31,
"minute" : 0
},
"grupy" : [
{
"nazwa" : "yyy",
"kod" : "yyy",
"id" : 51032,
"idkiPlikowGrafiki" : [
"51034"
],
"gracze" : [
{
"zakonczonaGra" : false,
"imieINazwisko" : "zzzz yyyy",
"email" : "tertretera@cccc.com",
"liczbaZdobytychPunktow" : "0.0",
"czasGry" : "0 min"
}
]
},
{
"nazwa" : "ttt",
"kod" : "ttt",
"id" : 50981,
"idkiPlikowGrafiki" : [
"50983",
"50986"
],
"gracze" : [
]
}
],
"nazwa" : "grupowy",
"idkiPlikowGrafiki" : [
"50976"
],
"typ" : "GRUPA",
"dataOd" : {
"second" : 0,
"year" : 2018,
"month" : 2,
"hourOfDay" : 0,
"dayOfMonth" : 1,
"minute" : 0
}
}
}
如何从这个 json 数组中获取值并保存在变量中: - gracze(所有值) - idkiPlikowGrafiki(所有值) - 典型值(所有值) - kod(所有值) - dataWidoczneOd(所有值)
?
请帮忙:)
【问题讨论】:
-
你在使用 SwiftJSON
-
您可以使用 SwiftyJSON 序列化 json。 github.com/SwiftyJSON/SwiftyJSON
-
致
SwiftyJSON的两位推荐者:如果您不知道如何阅读和理解 JSON 的结构,那么您使用的工具是无关紧要的。而在 Swift 4 中,SwiftyJSON 作为解析工具实际上已经过时了。Codable协议更方便。
标签: arrays json swift alamofire