gpt4 book ai didi

json - 在 swift 中从复杂的 JSON 中获取数据

转载 作者:行者123 更新时间:2023-11-30 10:03:36 25 4
gpt4 key购买 nike

我有一个复杂的 JSON 数据。我怎样才能解析这些数据?我已经尝试过了,但还是不行。

我需要一个带有对象(id、时间...)的字典。但是如何通过“1,..”呢?我怎样才能花时间开始和结束呢?

"data": {

"1":[
{"id":6524612,
...
"time":{
"begin":"18:50",
"end":"19:20"
},
...
},

"2":[
{
"id":6524613,
...
"time":{
"begin":"18:50",
"end":"19:20"
},
...
},

我的错误在哪里?

  let broadcastTask = broadcastSession.dataTaskWithRequest(broadcastRequest) { (data, response, error) -> Void in

if error != nil {
print(error.debugDescription)
} else {
do {
let broadcastDict = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as? Dictionary<String, AnyObject>
if let results = broadcastDict!["data"] as? [Dictionary<String, AnyObject>] {

for obj in results {
let broadcast = Broadcast(broadcastDict: obj)
self.broadcastList.append(broadcast)
}


//Main UI thread
dispatch_async(dispatch_get_main_queue()) {
self.collectionView.reloadData()
}
}

} catch {

}

}

}

broadcastTask.resume()

init(broadcastDict: Dictionary<String, AnyObject>) {

if let category = broadcastDict["id"] as? Int {
self.id = id
}
...
}

最佳答案

如果我正确理解了这个问题:第一个问题似乎是您试图将“数据”字典转换为字典数组。这总是会失败,因为您的数据对象是字典而不是数组。

一旦你纠正了这个问题,你的循环就会遇到麻烦。试试这个:

for (key, value) in results {
let broadcast = Broadcast(broadcastDict: value)
self.broadcastList.append(broadcast)
}

现在您正在发送 Broadcast 对象所需的字典。

关于json - 在 swift 中从复杂的 JSON 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215548/

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