我在邮递员中有这种json的共鸣......
{
"errorcode": "0",
"errorstr": "Success",
"result": {
"top": [
"id": 826133
"deal_detail": "<p><strong>Main link <a href=\"https://links.de.com?ref=forums&url=https://pa.com/deal-on--clpid-7960\" target=\"\" rel=\…</p>
],
“popular”: [
"id": 826133
"deal_detail": "<p><strong>Main link <a href=\"https://links.de.com?ref=forums&url=https://pa.com/deal-on--clpid-7960\" target=\"\" rel=\…</p>
],
"categories": {
"1": "Fashion & Apparels",
"2": "Mobiles & Mobile Accessories",
"3": "Computers, laptops & Accessories",
"4": "Electronics",
},
"stores": {
"1": "Amazon",
"75": "Dominos",
}
}
我试图像这样继续解析这个json响应......
if let orderData = result["result"] as? [[String:Any]] {...
但由于结果不是数组,我不认为这是正确的方法。
什么是正确的方法......?
答案 0 :(得分:1)
结果可以是数组和字典,两者都是很好的方法。但在你的情况下,它是字典而不是任何数组,所以请相应地对待它,并按照下面的方式进行操作
let orderData = result["result"] as? [String:Any] // Now in orderData you have result
现在根据它解析更多数据。
还有任何问题或不清楚,然后问。
答案 1 :(得分:1)
使用AlamofireObjectMapper。它会让你的工作变得轻松 1. 1.根据您获得的JSON响应创建模型类。以上链接有例子。它应该与JSON表示相同 2.解析JSON如下:
Alamofire.request(URL).responseObject { (response: DataResponse<YourModel>) in
let modelResponse = response.result.value
// your code
}
答案 2 :(得分:-1)
我建议去一个名为SwiftyJSON的用于响应解析的着名库。这将减少您的工作量和时间。