首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode解析JSON智慧强调

Xcode解析JSON智慧强调
EN

Stack Overflow用户
提问于 2014-12-12 09:55:26
回答 1查看 251关注 0票数 0

我试图在Xcode 6中解析JSON,我的代码如下所示:

代码语言:javascript
复制
NSData *jsonClusterHealth = [NSData dataWithContentsOfURL:
                      [NSURL URLWithString:@"http://XXX.XXX.XXX.XXX:XXXX/_cluster/health?pretty=true"]];

id jsonCHealth = [NSJSONSerialization JSONObjectWithData:
                  jsonClusterHealth options:NSJSONReadingMutableContainers error:nil];
ClusterStatusLabel.text = [jsonCHealth objectForKey:@"status"];
//NumberOfNodesLabel.text = [jsonCHealth objectForKey:@"number_of_nodes"];
//ActiveShardsLabel.text = [jsonCHealth objectForKey:@"active_shards"];

所以,一切都很好,直到我取消了最后两行的注释,它用下面的错误使应用程序崩溃:

代码语言:javascript
复制
-[__NSCFNumber length]: unrecognized selector sent to instance 0xb000000000000013 2014-12-12 11:00:35.447 FnHAdmin[22139:1077781] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber length]: unrecognized selector sent to instance 0xb000000000000013'

我发现原因是在json的宾语键中下划线.那么,在包含下划线的json键的Xcode中有什么问题呢?主要问题是如何修复它(我不能删除JSON中的下划线,所以解决方案必须在Xcode中).

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-12 10:08:50

从崩溃日志来看,@"number_of_nodes"@"active_shards"键都是NSNumber类型的对象。试试看

代码语言:javascript
复制
NumberOfNodesLabel.text = [NSString stringWithFormat:@"%@", [jsonCHealth objectForKey:@"number_of_nodes"]];
ActiveShardsLabel.text = [NSString stringWithFormat:@"%@", [jsonCHealth objectForKey:@"active_shards"]];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27441021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档