Objective c 如何将JSON数据添加到NSARRAY?

Objective c 如何将JSON数据添加到NSARRAY?,objective-c,json,nsurlrequest,Objective C,Json,Nsurlrequest,NSArray*myArr=[jsonObject copy];//这里myArr=您的响应中的数据。我认为这是零 NSLog(@“我的数组是%@”,myArr) 通过写入NSUserDefaults,将根据json对象更新第一个数据。。再次,当我将地点名称从@“mocha”更改为@“test1”时,它没有更新…为什么? 谢谢你你已经得到了数组,用NSArray代替id你将得到数组中的响应 NSUserDefaults *myDefaults = [NSUserDefaults s

NSArray*myArr=[jsonObject copy];//这里myArr=您的响应中的数据。我认为这是零 NSLog(@“我的数组是%@”,myArr)

通过写入NSUserDefaults,将根据json对象更新第一个数据。。再次,当我将地点名称从@“mocha”更改为@“test1”时,它没有更新…为什么?
谢谢你

你已经得到了数组,用
NSArray
代替
id
你将得到数组中的响应

       NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

         [myDefaults setObject:myArr forKey:@"myStoredObject"]; // by this you can store object

                 if (jsonObject != nil && error == nil){   
                     NSLog(@"Successfully deserialized...%@",jsonObject);
                 }
             });
         }
     }];
建议

ios 9中不推荐使用
NSURLConnection
,因此请使用
NSURLSession

这可能对你有帮助


您获取的对象已经是数组。只需使用
NSArray*jsonObject
而不是
id jsonObject
。图斯普勒斯教程。正如另一个答案中提到的,这也是一个很好的选择

您应该使用
AFNetworking
调用web服务

希望这对您有所帮助。:)

根据评论中的问题更新:

您应该使用本地数据库来存储从服务器获取的字典或数组。如果有太多的数据和数据之间的复杂关系,那么可以使用
sqlite
核心数据
。如果e是简单数据(如您的问题所示),您可以使用
NSUserDefaults
如下示例

NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error:& error];

现在您可以使用arr在地图上显示注释。无论何时从服务器获得响应,调用[myDefaults setObject:myArr forKey:@“myStoredObject”]和myArr应该是新的响应。因此,它将用新数据覆盖旧数据。希望这会有所帮助。:)

但将其保存到id变量,而不是NSArray@trojanfoe:是的,她只需要一个数组中的响应:)@Lion,它对我非常有用,并且值正在动态变化。谢谢你,你发布的json数据看起来像一个数组。你能正确缩进并清理你的代码吗?它越来越不可读了。也要保持一致,在哪里放置空格,在哪里不放置空格!我通过编写上述代码从url获取json数据…我使用MKPointAnnotation为上述三个地址编写代码..像belowYes一样,没有必要,但是如果有人不太熟悉这个概念,那么
afnetworking
可以让他们的任务变得简单一些。:)@南迪尼,你想说什么?没有得到你的评论!下面的kike是指何处?我通过编写上述代码从url获取json数据。我使用MKPointAnnotation为上述三个地址编写代码。如BellowmkPointAnnotation*point2=[[MKPointAnnotation alloc]init];point2.coordinate=CLLocationCoordinate2DMake(17.418694,78.445116);点2.title=@“摩卡”;[self.mapView addAnnotation:point2];我写的地址也和剩下的两个地址一样…它是静态的..我的问题是,如果它们在jsondata中更改值,它应该在我的代码中动态更改..我应该如何编写代码?我应该将json数据存储在字典中吗?谢谢你,@nandini我已经根据你的问题更新了我的答案。看看吧。:)
       NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

         [myDefaults setObject:myArr forKey:@"myStoredObject"]; // by this you can store object

                 if (jsonObject != nil && error == nil){   
                     NSLog(@"Successfully deserialized...%@",jsonObject);
                 }
             });
         }
     }];
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error:& error];
 NSArray *myArr = nil; // here myArr = yourData from your response. i take it nil for demonstrate

NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

[myDefaults setObject:myArr forKey:@"myStoredObject"]; // by this you can store object


NSArray *arr = [myDefaults objectForKey:@"myStoredObject"]; // like this you can retrivie object