将 JSON 放入数组

Posted

技术标签:

【中文标题】将 JSON 放入数组【英文标题】:Putting JSON into an Array 【发布时间】:2013-03-02 22:13:04 【问题描述】:

在请求和 JSON 方面,我是个菜鸟。在我的应用程序中,我发送到服务器并取回东西,所以我当然可以使用它。我尝试查找不同的东西,但似乎没有一个是我真正想要的。所以我要找回似乎格式化为 JSON 的内容。我想知道如何将其放入 NSMutable 数组中。我得到这个 JSON 的方法是使用 AFNetworking 的 AFJSONRequestOperation。

我的回复是这样的。


    id = 38;
    name = "St. Martin Hall";
,
    
    id = 40;
    name = "Assumptions Commons";
,
    
    id = 41;
    name = "Vickroy Hall";
,
    
    id = 42;
    name = "St. Ann Hall";
,
    
    id = 37;
    name = "Duquesne Towers";

【问题讨论】:

NSJSONSerialization 类参考,请... 【参考方案1】:

如果您的 JSON 格式像 "mainKey":[,,...]

 NSError* error;
    NSDictionary* json = [NSJSONSerialization 
        JSONObjectWithData:responseData //1
         options:kNilOptions 
        error:&error];

    NSArray* dataArray = [json objectForKey:@"mainKey"]; //2

其他 JSON 格式,例如 [,,...]

NSError* error;
    NSArray* dataArray = [NSJSONSerialization 
        JSONObjectWithData:responseData //1
        options:kNilOptions 
        error:&error];

我认为您的格式是案例 2:[] Array of Object

教程:http://www.raywenderlich.com/5492/working-with-json-in-ios-5

JSON:http://www.json.org

【讨论】:

谢谢!该教程确实向我展示了我做错了什么。【参考方案2】:

您使用NSJSONSerialization 类将 JSON 转换为 Foundation 对象并将 Foundation 对象转换为 JSON。

此类在 iOS 5.0+ 中可用。如果您的目标是较旧的 iOS 版本,请查看第三方 JSON 框架:

Comparison of JSON Parser for Objective-C (JSON Framework, YAJL, TouchJSON, etc)

【讨论】:

【参考方案3】:

如果这就是您要返回的内容,恐怕它不是 JSON。它在某种程度上看起来确实像 javascript,但应该更像

[
  
     "id" : 38,
     "name" : "St. Martin Hall"
  ,
  
     "id" : 39,
     "name" : "Assumptions Commons"
  
]

【讨论】:

就是这样回来的。我只是没有把 [ 和 ] 和 : vs = 和 , 而不是 ; 我用了一种新方法,现在它又像你发布的那样回来了。

以上是关于将 JSON 放入数组的主要内容,如果未能解决你的问题,请参考以下文章

将字节数组放入 JSON,反之亦然

将 JSON 放入数组中

使用 JQuery 将 JSON 数组放入 HTML 列表

使用 Ajax Jquery 将 Json 结果返回的数据数组放入 DataTable 中

Java - 如何读取json文件并将值放入数组中

循环一个 json 文件并填充一个数组 Swift