将 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 并获取键和值