5

我正在尝试解析由 RESTful Web API 返回的 JSON 数组,该数组看起来类似于以下内容(使用 JSONKit):

[ { "DateCreated" : "/Date(1320296400000)/",
    "ID" : 1,
    "Summary" : "Summary 1",
    "Title" : "Title 1",
    "URL" : "URL 1"
  },
  { "DateCreated" : "/Date(1320296400000)/",
    "ID" : 2,
    "Summary" : "Summary 2",
    "Title" : "Title 2",
    "URL" : "URL 2"
  }
]

我过去使用的 JSON 通常有一个父元素,例如news:{{node1},{node2}},这将允许我从 JSON 响应中提取该节点,如下所示:

NSString *response = [request responseString];
NSDictionary *deserializedData = [response objectFromJSONString];
NSArray *arrNews = [deserializedData objectForKey:@"news"];

在我的 JSON 中,不存在这样的节点,它只是一个原始数组。我该如何将它拉入 NSArray(或者我可以挂接到 UITableView 中的东西)?

4

2 回答 2

10

从您的 JSON 数据的外观来看,您的deserializedData应该已经是一个用JKDictionary对象填充的JKArray

您是否尝试过像数组一样访问它?

for (NSDictionary * dataDict in deserializedData) {
    NSString * timeStamp = [dataDict objectForKey:@"DateCreated"];
    // and so on
}

这应该让您遍历 JSON 数据中的每个元素。

于 2011-12-12T01:40:55.737 回答
1

一个合法的 JSON 字符串可以有一个数组或字典/“对象”作为其外部“容器”。您的示例中的 JSON 有一个数组作为外部“容器”。完全合法。

如果您不知道该期待哪个,则必须测试该对象以查看它是哪个。

于 2011-12-12T01:43:08.920 回答