ios - iOS 上的 Http 请求。没有获得完整的字符串

标签 ios iphone json

我有这段代码调用网络服务来检索给定地址的坐标:

NSLog(@"\ndata:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

NSError* error;
NSDictionary* json = [NSJSONSerialization
                      JSONObjectWithData:data

                      options:kNilOptions
                      error:&error];
if (error != nil) {
    NSLog(@"\nerror:%@", error);
}

当我进行 2 或 3 次调用时,其中一些出现错误 != nil,因为字符串未满。

例如,如果我第三次或随机调用“Ads”(http://maps.google.com/maps/api/geocode/json?address=ads),我会得到这个字符串:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Addison Airport",
               "short_name" : "Addison Airport",
               "types" : [ "establishment" ]
            },
            {
               "long_name" : "220",
               "short_name" : "220",
               "types" : [ "subpremise" ]
            },
            {
               "long_name" : "16051",
               "short_name" : "16051",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Addison Road",
               "short_name" : "Addison Rd",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Addison",
               "short_name" : "Addison",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Dallas County",
               "short_name" : "Dallas County",

enter image description here

所以我的解析器不工作。

我重复一遍,这是随机的,我必须多次执行代码才能重现它。

我做错了什么?

提前谢谢你。

最佳答案

我认为您忘记收集整个响应的所有数据片段并将它们一起传递到一个 NSData 对象中。这只是完整响应的一部分。也许这个post可以帮助你。

关于ios - iOS 上的 Http 请求。没有获得完整的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637182/

相关文章:

iphone - 在移动 Safari (html5) 中缓存离线 iPhone/iPad Web 应用程序的视频内容?

iphone - 多个 Storyboard来管理视网膜 4 和视网膜 3.5

javascript - 使用 jQuery 迭代从 Web 服务接收到的 JSON

java - 将字段解析为对象或数组时出错

javascript - 循环遍历 JSON 键以添加 Google map 数据

ios - 如何像3D touch一样做出像背景一样的模糊效果

ios - 防止 UIGestureRecognizer 检测输入

c# - 为什么统一增加 transform.position 会导致 iOS 抖动?

iphone - 如何在 iPad 上以全屏模式使用 SAFARI 打开网站

ios - 使用 String 标签创建 UIImageView 子类?