如何在Objective-c中访问高级JSON对象?这是JSON
{
user: "user",
id: 39,
image: "img.png",
caption: "",
lat: "37",
lng: "-122",
created_at: 1356910240
}
......我需要做这样的事[JSON valueFor ???:????]
我可以添加对象“标识符”并像[JSON valueForKeyPath:@“identifier”]一样访问它,但想知道是否还有其他方法?
identifier: {
user: "user",
id: 39,
image: "img.png",
caption: "",
lat: "37",
lng: "-122",
created_at: 1356910240
}
谢谢!
答案 0 :(得分:0)
通常,JSON解析器将返回字典/散列/关联数组,无论使用何种语言用于键/值对。
在ObjectiveC中,那将是NSDictionary
。所以你的解析器应该这样做:
NSDictionary *data = [SomeJSONParser decodeJson:jsonString];
现在我们要做"user"
:
[data objectForKey:@"user"];
但是你想要根节点?那么你已经拥有它。根节点是你的解析器吐出的字典。没有神奇的方法可以调用,根节点只是解析器的结果。
如果您的“自定义解析器”工作方式不同,我建议您更改它。让你做你想做的事完全取决于你的解析器的API以及它返回的对象类型,你在问题中留下了令人难以置信的模糊的东西。