-1

如何在 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
}

谢谢!

4

1 回答 1

0

通常,JSON 解析器将返回一个字典/散列/关联数组,无论所使用的语言用于键/值对。

在 ObjectiveC 中,这将是NSDictionary. 所以你的解析器应该这样做:

NSDictionary *data = [SomeJSONParser decodeJson:jsonString];

现在"user"要从中得到,我们会这样做:

[data objectForKey:@"user"];

但是你想要根节点?好吧,你已经拥有了。根节点是您的解析器吐出的字典。没有什么神奇的方法可以调用,根节点只是解析器的结果。

如果您的“自定义解析器”工作方式不同,我建议您更改它。让它做你想做的事完全取决于你的解析器的 API 和它返回的对象类型,这两件事你在你的问题中留下的东西都非常模糊。

于 2012-12-31T02:47:33.023 回答