将 json 解析为 NSDictionary [关闭]

Posted

技术标签:

【中文标题】将 json 解析为 NSDictionary [关闭]【英文标题】:parsing json to NSDictionary [closed] 【发布时间】:2014-07-17 15:17:23 【问题描述】:

如何将这个 json http://www.wind.it/it/negozi-wind/assets/lib/makerclusterplus/src/data.json 解析为 NSDictionary,以便稍后在我的地图中使用它?

【问题讨论】:

好吧,你可以花 30 秒时间使用 Google,或者直接查看 NSJSONSerialization 的规范。 我认为 json 文件无效。取出var数据 @Bejibun 我怎样才能在我的应用程序中做到这一点?不编辑 json 文件 @HotLicks 我认为 NSJSONSerialization 在这种情况下没有帮助 你为什么这么认为? 【参考方案1】:

您需要发出网络请求,然后使用 NSJSONSerialization。

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];

NSURLResponse *urlResponse;
NSError *urlError;

NSData *urldata = [NSURLConnection
                   sendSynchronousRequest:urlRequest
                   returningResponse:&urlResponse
                   error:&urlError];

if (urldata) 
    NSMutableDictionary *profileDictionary = [NSJSONSerialization JSONObjectWithData:urldata
                                                                         options:NSJSONReadingMutableLeaves
                                                                           error:nil];

【讨论】:

urldata 给我返回这样的信息:<76617220 64617461 203d207b 2022636f 756e7422 3a203130 37383532 33362c0a 2270686f 746f7322 3a205b7b 2270686f 746f5f69 64223a20 32373933 322c2022 70686f74 6f5f7469 746c6522 3a202241 74617264 并且 profileDictionary 甚至没有初始化 那个数据是var data = "count": 10785236,"photos": ["photo_id": 27932, "photo_title": "Atard。这确实是您的 URL 返回的内容,但它不是有效的 JSON——“var data =”不属于那里。修复你的 JSON,上面的代码可能会起作用(尽管 brashy 用湿面条抽了十下,因为不包括错误检查)。

以上是关于将 json 解析为 NSDictionary [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NSJSONSerialization 将 NSDictionary 错误地解析为 JSON?

无法将 json 字符串解析为 nsdictionary

如何将这样的 JSON 解析为 NSDictionary 并获取键和值

将此数据从 JSON 解析为 NSDictionary [重复]

理解 JSON 解析为 NSDictionary [重复]

从 JSON 响应设置 NSDictionary 中的值