【问题标题】:Retrieve data from nsdictionary从 nsdictionary 检索数据
【发布时间】:2013-08-22 15:24:46
【问题描述】:

这是我的 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"];

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

【问题讨论】:

    标签: objective-c json nsdictionary


    【解决方案1】:

    您在 group 之前的 json 中缺少 {。然后纠正它 试试这个:

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

    group 是 NSDictionary 的数组。

    【讨论】:

      【解决方案2】:

      您可以简单地使用 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 来解析它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-10
        • 2011-10-02
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多