解析JSON:响应中的括号

时间:2012-07-17 17:22:15

标签: iphone json sbjson json-framework

我想解析这个JSON YouTube recently featured。 这就是我获取视频标题的方式:

NSString *response = [request responseString];
    responseDict = [response JSONValue];

videoTitleArray = [responseDict valueForKeyPath:@"feed.entry.title.$t"];

它的工作方式就像我想要的那样。 但我也想展示视频的作者。 但是以下代码无法正常运行:

videoAuthorArray = [responseDict valueForKeyPath:@"feed.entry.author.name.$t"];
    NSLog(@"%@", videoAuthorArray);

我得到的作者名单如下:

(
    author 1
),
    (
    author 2
),
    (
    author 3
),
    (
    author 4
),

由于括号,我无法在表格视图中显示名称。 如何显示作者姓名,如视频标题?

1 个答案:

答案 0 :(得分:3)

当您看到作者时,您会看到:

"author":[{"name":{"$t":"mls"},"uri":{"$t":"http://gdata.youtube.com/feeds/api/users/mls"},"yt$userId":{"$t":"SZbXT5TLLW_i-5W8FZpFsg"}}]

这意味着:author是一个作者对象数组

每个作者对象都有:name对象,uri对象和yt$userId对象

上述每个对象都是NSDictionary

格式化我们:

"author":[
  {
    "name": {
      "$t":"mls"
    },
    "uri": {
      "$t":"http://gdata.youtube.com/feeds/api/users/mls"
    },
    "yt$userId":{
      "$t":"SZbXT5TLLW_i-5W8FZpFsg"
    }
  }
],

因此,如果您的videoAuthorArray每个元素都是NSDictionary并且有以下密钥:nameuriyt$userId

这些对象中的每一个都有一个NSDictionary,只有一个键:$t具有值