gpt4 book ai didi

json - 快速获取JSON元素

转载 作者:行者123 更新时间:2023-11-28 06:27:56 30 4
gpt4 key购买 nike

我正在使用 Swift 接收以下 JSON 文件,但我不知道如何获取 JSON 中的详细信息元素

[
{
"id": 143369,
"history": "jd2",
"details": [
{
"name": "Su 1",
"color": "#ffffff"
},
{
"name": "Stu 1",
"color": "#ffffff"
}
]
},
{
"id": 143369,
"history": "musa 2",
"details": [
{
"name": "Stu 1",
"color": "#ffffff"
},
{
"name": "Stu 2",
"color": "#ffffff"
}
]
}
]

我已经创建了这个类,我可以用它来检索 ID 和历史记录,但不能检索详细信息。如何在 ID 和历史记录中包含详细信息?

public class students {

let id: Int32
let history: String?

init(id:Int32, history:String) {
self.id = id
self.history = name

}
}

下面是我的网络服务代码。

var dataArray = [students]()

Alamofire.request(.GET, url)
.responseJSON { response in

if let value: AnyObject = response.result.value {

let json = JSON(value)
if let items = json.array {
for item in items {
self.dataArray.append(students(
id: item["id"].int32!,
history: item["history"].string!))

let cItems = item["details"].array
for citem in citems {
//here
}
}
}
}
}

最佳答案

你的学生模型应该是这样的。

let id: Int32
let history: String?
let details: Array<[String:AnyObject]>
init(id:Int32, history:String,details:Array<[String:AnyObject]>) {
self.id = id
self.history = name
self.details= details //need a cast here!
}

这是一个简单的解析器,我用于一个项目来像你一样转换你的 Array<[String:AnyObject]>

func collection(data:[[String:AnyObject]]) -> [yourModel] {

var objectArray: [yourModel] = []

for d in data {

let obj = yourModel(data: d as [String: AnyObject]) // i created a initializer for this object here on my project.

objectArray.append(obj)

}

return objectArray

}

希望给个主意!

关于json - 快速获取JSON元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243925/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com