【发布时间】:2019-01-17 03:51:47
【问题描述】:
我有 JSON 格式的数据,我想从如下结构中获取数据 - 我想获取时间值,在本例中为 String: "04:35:00" 并将所有这些时间值附加到我的 Hours 模型中。
{
"result": [
{
"values": [
{
"value":"null",
"key":"symbol_2"
},
{
"value":"null",
"key":"symbol_1"},
{
"value":"016",
"key":"company"
},
{
"value":"QUW12DO",
"key":"direction"
},
{
"value":"TD-4WYS",
"key":"road"
},
{
"value":"04:35:00",
"key":"time"
}]},
//通过这样的代码:
URLSession.shared.dataTask(with: (url as URL?)!, completionHandler: {(data, response, error) -> Void in
if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary {
print(jsonObj!.value(forKey: "result")!)
if let stopsArray = jsonObj!.value(forKey: "result") as? NSArray {
for stop in stopsArray{
if let stopDict = stop as? NSDictionary {
let hours = stopDict.value(forKey: "time")
let myModel = Hours(hours: hours as? String)
self.list.append(myModel)
print("LIST: \(self.list)")
DispatchQueue.main.async {
self.actInd.stopAnimating()
self.actInd.isHidden = true
self.containerLittle.isHidden = true
self.loadingView.isHidden = true
}
}
}
}
}
}).resume()
在我将代码附加到模型的这一刻,我到处都是零。如何获取模型的时间值?
【问题讨论】:
-
首先 - 不要在 Swift 中使用
NSDictionary或NSArray。使用正确的 Swift 字典和数组。先解决这个问题,事情会容易得多。 -
您的回复中没有
"time"键。
标签: json swift serialization