我有以下
JSON对象:
{ "response": { "status": 200 },"messages": [ { "message": { "user": "value" "pass": "value","url": "value" } ] }
}
我正在使用JSON-Framework(也尝试过JSON Touch)来解析它并创建一个字典.我想访问“消息”块并提取“user”,“pass”和“url”值.
在Obj-C中,我有以下代码:
// Create new SBJSON parser object SBJSON *parser = [[SBJSON alloc] init]; // Prepare URL request to download statuses from Twitter NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:myURL]]; // Perform request and get JSON back as a NSData object NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; // Get JSON as a NSString from NSData response NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; //Print contents of json-string NSArray *statuses = [parser objectWithString:json_string error:nil]; NSLog(@"Array Contents: %@",[statuses valueForKey:@"messages"]); NSLog(@"Array Count: %d",[statuses count]); NSDictionary *results = [json_string JSONValue]; NSArray *tweets = [[results objectForKey:@"messages"] objectForKey:@"message"]; for (NSDictionary *tweet in tweets) { NSString *url = [tweet objectForKey:@"url"]; NSLog(@"url is: %@",url); }
解决方法
解决了:
NSArray *tweets = [[results objectForKey:@"messages"] valueForKey:@"message"];