【问题标题】:Putting JSON into an Array将 JSON 放入数组
【发布时间】: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 类参考,请...

标签: ios json ios6 nsarray afnetworking


【解决方案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 = 和 , 而不是 ;
    • 我用了一种新方法,现在它又像你发布的那样回来了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    相关资源
    最近更新 更多