swift 3 json序列化
Posted
技术标签:
【中文标题】swift 3 json序列化【英文标题】:swift 3 json serialisation 【发布时间】:2016-10-07 08:58:30 【问题描述】:我正在尝试使用 Swift 3 序列化 JSON,但结果很短.. 这是 JSON(摘要):
"values": [
"a":
"b": "1",
"c":
"d": 0.0
,
"wantThisOne": "2016-10-07T08:47:00Z"
,
"a":
"b": "1",
"c":
"d": 0.0
,
"notThisOne": "2016-10-07T09:05:00Z"
]
我想从 'wantThisOne' 获得日期,但不确定如何获取它... 这是据我所知,但我在 if let 块中尝试的任何东西似乎都对我有用......有人处理过这样的事情吗?我已经查看了堆栈溢出等...但超级卡住了。
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler: (response: URLResponse?, data: Data?, error: Error?) -> Void in
do
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary
print(jsonResult)
catch let error as NSError
print(error.localizedDescription)
)
【问题讨论】:
【参考方案1】:首先在 Swift 中使用泛型类型 Dictionary
像 [String:Any]
而不是 NSDictionary
并且在你得到字典后从 value
键获取数组并遍历数组并从每个获取 wantThisOne
对象。
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? [String:Any]
if let valueArray = jsonResult["values"] as? [[String:Any]]
for item in valueArray
print("Date - \(item["wantThisOne"])")
【讨论】:
@Richie 欢迎朋友 :)以上是关于swift 3 json序列化的主要内容,如果未能解决你的问题,请参考以下文章
使用 Alamofire 和 Swift 3 反序列化复杂的 JSON
使用 SwiftyJSON 将 JSON 数组反序列化为 Swift 对象