我正在使用JSON框架编写iPhone本机应用程序.
我的应用程序正在使用JSON访问Web服务.我们发送的JSON数据有嵌套对象,下面是提供的数据示例:
{ "model": { "JSONRESPONSE": { "authenticationFlag": true, "sessionId": "3C4AA754D77BFBE33E0D66EBE306B8CA", "statusMessage": "Successful Login.", "locId": 1, "userName": "Joe Schmoe" } } }
我使用objectForKey和valueForKey NSDictionary方法解析时遇到问题.我不断收到invalidArgumentException运行时错误.
例如,我想查询"authenticationFlag"元素的响应数据.
谢谢,迈克西雅图
没有更多细节(例如你正在使用的JSON解析代码)很难分辨,但有两件事情让我感到害怕:
你没有用完整的路径查询.在上面的例子中,您需要首先获取封闭模型,json响应,然后才向json响应字典询问authenticationFlag值:
[[[jsonDict objectForKey:@"model"]
objectForKey:@"JSONRESPONSE"] objectForKey:@"authenticationFlag"]
也许你正在使用c-strings(""
)而不是NSStrings(@""
)作为键(尽管这可能会崩溃或者只是不能编译).密钥应该是可以转换为id的东西.
尽管可能,两者都可能是假的,所以请包含更多细节.