顶级JSON对象属性Objective-c

时间:2012-12-30 23:56:14

标签: objective-c ios json

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

NSDictionary *data = [SomeJSONParser decodeJson:jsonString];

现在我们要做"user"

[data objectForKey:@"user"];

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

如果您的“自定义解析器”工作方式不同,我建议您更改它。让你做你想做的事完全取决于你的解析器的API以及它返回的对象类型,你在问题中留下了令人难以置信的模糊的东西。

相关问题