【问题标题】:Error Store NSdata to NsDictonary将 NSdata 存储到 NsDictionary 时出错
【发布时间】:2015-02-05 11:28:18
【问题描述】:

请帮我解析 JSON 数据。我们在 NSMutable Data 中得到响应。但我们不会在 Dictionary 中取出数据。我的 jsonDictionary 为零。 这是我的网址。我检查了 JSON Validator。它们显示有效的 Json 输出。帮助....

http://mobileapp.merucabs.com/NearByCab_ETA/GetNearByCabs.svc/rest/nearby?Lat=23.0768222&Lng=72.645732&SuggestedRadiusMeters=5000&CabMaxCount=10

-(void)connectionDidFinishLoading:(NSURLConnection *)connection {

   // NSString *responseString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
    //NSLog(@"Response String is %@",responseString);
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;


jsonDictionary=[NSJSONSerialization JSONObjectWithData:receivedData options:NSJSONReadingMutableContainers error:nil];
jsonArr=[jsonDictionary objectForKey:@"results"];
  //  NSLog(@"JSONDictionary is %@",jsonDictionary);
[_categoryListTableView reloadData];


}

【问题讨论】:

  • 您确定要将所有数据添加到“recivedData”,在将数据附加到其中时添加代码
  • 该 url 中的 json 无效。检查来自jsonlint.com的json的有效性
  • 没有名为 results 的 JSON 对象
  • Json Validator 获取有效的 json 输出。
  • 能否分享一下错误信息。

标签: ios nsdictionary nsdata


【解决方案1】:

我从您的URL 获得了输出,并创建了新项目并运行,项目链接为附加here

【讨论】:

  • 如果您需要帮助,我希望与您合作
  • 但我们无法将数据存储在 dictonary 中。请帮帮我。
【解决方案2】:

从结果中删除行<stringxmlns="http://schemas.microsoft.com/2003/10/Serialization/"> 然后再试一次

-(void)connectionDidFinishLoading:(NSURLConnection *)connection {

id jsonDictionary=[NSJSONSerialization JSONObjectWithData:receivedData options:kNilOptions error:nil];
    NSLog(@"JSONDictionary is %@", jsonDictionary);
}

【讨论】:

  • url是soap方法,需要把XML转成NSDictionary
【解决方案3】:

您的 json 服务正在返回无效的 json。如果您检查该网址的源代码,您会发现

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">

在文件的头部。使用 jsonlint.com 等一些验证工具确保 json 的有效性

【讨论】:

  • 请查看截图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
相关资源
最近更新 更多