我会用SBJSON来分析JSON文件,但是我有一点理解问题吗?以下是我的JSON结构:
举个例子:
{"id":"1",“文本”:“blabla”,“日期”:“1235432241”},{"id":"2",“文本”:“blabla2”,“日期”:“1235432241”}
下面是我找到的用SBJSON解析JSON文件的代码:
- (void)downloadJSONFile:(NSData *)data
{
SBJSON *jsonParser = [[[SBJSON alloc] init] autorelease];
NSString *jsonString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
id response = [jsonParser objectWithString:jsonString error:NULL];
NSDictionary *feed = (NSDictionary *)response;
NSArray *nodes = (NSArray *)[feed valueForKey:@"keyValue"]; // here's I don't know what to put
for (int i = 0; i nodes.count; i++) {
NSDictionary *node = (NSDictionary *)[nodes objectAtIndex:i];
NSLog(@"id = %@",[node objectForKey:@"id"]);
}
}我不知道在我的节点数组的valueforKey中写什么.有人能跟我解释吗?谢谢!
发布于 2010-11-25 11:51:36
你的钥匙是: id,文本和日期。因此,如果您希望使用键id解析对象,那么在您突出显示的那一行中,应该是:
valueForKey:@"id“
发布于 2010-11-25 12:23:31
从您提供的json示例来看,您应该得到一个包含两个NSArray的NSDictionary。所以代码应该是
NSArray *nodes = (NSArray *)response;不熟悉SBJSON,可能响应实际上是一个NSDictionary。在这种情况下,您只需使用NSLog(@"%@", feed);打印字典,就可以得到如下所示的打印结果:
{
nameOfKey = (
{
"id" = 1;
"text" = "blablabla"
...在哪里nameOfKey将是您要寻找的keyValue。
https://stackoverflow.com/questions/4276672
复制相似问题