使用JSON Framework for Objective-C解析嵌套的JSON对象

前端之家收集整理的这篇文章主要介绍了使用JSON Framework for Objective-C解析嵌套的JSON对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 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"];

猜你在找的JavaScript相关文章