0

这是我的 JSON 文件:

 {"object":

     {"blog":[{"guid":181,"type":"object","subtype":"4","time_created":"1376731708","time_updated":"1376731708","container_guid":"180","owner_guid":"180","site_guid":"1","title":"ugg sito ufficiale italiavyt","description":"sdataa","url":"http:\urlt"}],

    "bookmarks":[
        {"guid":82,"type":"object","subtype":"9","time_created":"1372072736","time_updated":"1372072910","container_guid":"81","owner_guid":"33","site_guid":"1","title":"Eqtitler","description":"<description>","url":"http:\urler"},
        {"guid":75,"type":"object","subtype":"9","time_created":"1371728924","time_updated":"1371728924","container_guid":"64","owner_guid":"52","site_guid":"1","title":"Ttitleur","description":"<pdescriptionp>","url":"http:\urlr"}
    ]
},

"group":[
    [
        {"guid":83,"type":"group","subtype":"0","time_created":"1372073952","time_updated":"1372074727","container_guid":"33","owner_guid":"33","site_guid":"1","name":"titles","description":"description>","url":"http:\urls"},
        {"guid":81,"type":"group","subtype":"0","time_created":"1372067304","time_updated":"1372068113","container_guid":"33","owner_guid":"33","site_guid":"1","name":"titles","description":"<pdescriptionp>","url":"http:\/\urles"},
        {"guid":64,"type":"group","subtype":"0","time_created":"1371728148","time_updated":"1372068044","container_guid":"33","owner_guid":"33","site_guid":"1","name":"Gtitres","description":"<description>","url":"http:\/\urls"}
    ]
]
  }

我使用以下代码来解析我的 json:

 NSError *error = nil;
 NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://s210678217.onlinehome.fr/?view=json"]];

 id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

 NSDictionary *feed = [jsonObjects objectForKey:@"object"];
 NSArray *entries = [feed objectForKey:@"bookmarks"];

或者

NSArray *entries2 = [feed objectForKey:@"blog"];

此代码可以完美地使用书签和博客检索数据。只是,此代码无法检索组。我不懂为什么?

4

2 回答 2

0

{之前在 json中丢失了group。纠正它然后试试这个:

NSArray *entries = [jsonObjects objectForKey:@"group"];

组是 的数组NSDictionary

于 2013-08-22T15:30:38.263 回答
0

您可以简单地使用 json-framework 来解析任何 json 字符串。您应该在您的类中导入“SBJSON.h”,以下代码将您的 JSON 解析为 NSArray。

NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://yourURL"]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error];
NSString *jsonString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; //your json string from URL request
//JSON Parsing here
SBJsonParser* parser = [SBJsonParser new];
NSArray* myArr = [parser objectWithString:jsonString];    //parsed NSArray

你可以在这里下载这个框架:( https://github.com/stig/json-framework/ ) 你应该有一个有效的 JSON 来解析它。

于 2013-08-22T15:53:45.290 回答