I am trying to parse a JSON array returned by a RESTful web API that looks similiar to the following (using 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"
}
]
The JSON I have worked with the the past usually had a parent element, for example news:{{node1},{node2}}
, that would allow me to extract that node from the JSON response, like this:
NSString *response = [request responseString];
NSDictionary *deserializedData = [response objectFromJSONString];
NSArray *arrNews = [deserializedData objectForKey:@"news"];
In my JSON, no such node exists, it is simply a raw array. How do I go about pulling this into an NSArray (or something I can hook into a UITableView)?
From the looks of your JSON data, it looks like your deserializedData should already be a JKArray filled with JKDictionary objects.
Have you tried accessing it like an array ?
for (NSDictionary * dataDict in deserializedData) {
NSString * timeStamp = [dataDict objectForKey:@"DateCreated"];
// and so on
}
This should loop you through every single element in the JSON data.