-2

我是 Facebook 开发人员的新手。我想使用 Facebook API 创建 Mac OSX 应用程序。当我请求 FQL 并且它只返回 JSON 数据时,如下所示:

我的代码:

[self.result_text setString:[NSString stringWithFormat:@"%@",[result objectForKey: @"result"]];

它显示:

[{"name":"My Name","first_name":"My First Name","last_name":"My Last Name"}]

我想阅读此词典中的对象。示例我只想显示“我的名字”字符串。但我不知道该怎么做。

谢谢,

4

4 回答 4

3

正如 Ashley Mills 所写,您应该查看文档。您可以像这样遍历所有字典键:

for ( NSString *key in [dictionary allKeys]) {
  //do what you want to do with items
  NSLog(@"%@", [dictionary objectForKey:key]);
}

希望能帮助到你

于 2012-06-05T11:17:21.017 回答
1

您可以使用JSONKit将 JSON 字符串转换为字典:

 NSDictionary *resultsDictionary = [resultString
      objectFromJSONStringWithParseOptions:JKParseOptionLooseUnicode|JKParseOptionValidFlags error:&err];

NSString* name = [resultDictionary objectForKey:@"name"];

JSONKit 使用简单,可以让您的应用程序在较旧的 SDK 版本上也能正常工作。

于 2012-06-05T11:15:18.317 回答
1

您可以通过 Lion 的全新NSJSONSerialization 类(为您链接的文档)将来自服务器的 JSON 内容解析为 NSDictionary 对象。

例如

NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData: [self.result_text dataUsingEncoding: NSUTF8StringEncoding] options: nil error: &error];

一旦你把它放在一个 NSDictionary 对象中,就很容易做类似的事情:

NSString * myLastNameContent = [jsonDictionary objectForKey: @"last_name"];

塞尔吉奥的回答(他一直在编辑,即使我输入 :-) 也非常好。给他+1。

于 2012-06-05T11:15:42.500 回答
0

您应该阅读NSDictionary此处的文档:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsdictionary_Class/Reference/Reference.html

特别是标题为访问键和值的部分

于 2012-06-05T11:14:18.157 回答