我正在使用 JSON 框架编写一个 iPhone 原生应用。
我的应用正在使用 JSON 访问网络服务。我们发送的 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 字符串 (
""
) 而不是 NSStrings (@""
) 作为键(尽管这可能会严重崩溃或只是不编译)。 key 应该是不能转换为 id 的东西。
虽然可能,但两者都可能是错误的,因此请提供更多详细信息。
关于objective-c - 如何使用 JSON 框架和 Objective-C/iPhone/Xcode 解析嵌套的 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692247/