1

我正在尝试使用 Json 和 ObjectForKey 引用 Twitter 用户名

推特 JSON 示例

source = web;
user =         {
        "contributors_enabled" = 0;
        "created_at" = "Tue Mar 09 11:36:02 +0000 2010";
        "default_profile" = 0;
        "default_profile_image" = 0;
        description = "Welcome to the Official Twitter page for Tottenham Hotspur Football Club, where you can get your official Club news, competitions and more!";
        "favourites_count" = 97;
        "follow_request_sent" = "<null>";
        "followers_count" = 360893;
        following = 1;
        "friends_count" = 80;
        "geo_enabled" = 0;
        id = 121402638;
        "id_str" = 121402638;
        "is_translator" = 0;
        lang = en;
        "listed_count" = 3514;
        location = "Tottenham, London, England";
        name = "Tottenham Hotspur";
}

现在我想在用户中使用键名,但不知道如何引用它。我知道我是否想使用我可以使用的来源

objectForKey:@"source"

但不知道为 user:name 写什么

4

1 回答 1

5

为了教育起见,另一种选择是使用通过valueForKeyPath:.

根据键值编码基础,通过分隔句号并逐步valueForKeyPath:调用每个成员来分解提供的路径。valueForKey:因此,例如以下是等价的:

[obj valueForKeyPath:@"ted.jefferson"]
[[obj valueForKey:@"ted"] valueForKey:@"jefferson"]

此外,除非您添加了访问元数据而不是内容的方法,否则直接NSDictionary实现其调用。因此,在这种情况下,如果您使用的是字符串键,那么用一个替换另一个是安全的。valueForKey:objectForKey:@

因此,做你想做的最简单的方法是:

[obj valueForKeyPath:@"user.name"]
于 2013-01-30T20:10:40.520 回答