将几个JSON对象合并为一个

时间:2015-02-24 10:24:27

标签: ios json

我需要将一个JSON对象数组放入一个新的JSON对象中。

{“megaObject”:[
        {   “key”:8,
            “key2”:”val”
        },
        {   “key”:5,
            “key2”:”val”
        },
        {   “key”:6,
            “key2”:”val”
        }
    ]
}

我已经创建了这样的数组:

NSArray *myArray = @[NSData json1, NSData json2, NSData json3];

这是制作JSON数组的正确方法吗?如果是这样,我怎样才能将它作为键添加到'megaObject'。

我是iOS开发的新手,所以任何帮助都很棒。

3 个答案:

答案 0 :(得分:0)

如果将JSON对象表示为NSDictionary,则只需使用此方法即可。即。

NSDictionary *jsonDict1;
NSDictionary *jsonDict2;
NSDictionary *jsonDict3;

NSArray *resultAry = @[jsonDict1, jsonDict2, jsonDict3];
NSDictionary *resultDict = @{@"megaObject" : resultAry};

并从此处转换为NSData或您需要的任何其他内容;)首先了解您正在使用的类,然后在API中查看它们的方法。调查更多,并将问题集中在至少2小时调查后无法解决的问题上;)

<强>更新

看看你的结构......

{"megaObject": // <-- NSDictionary "resultDict" with the key "megaObject" and NSArray "resultAry" with 3 NSDictionaries as value.
[
    {   // NSDictionary "jsonDict1" with 2 entries.
        “key”:8,
        “key2”:”val”
    },
    {   “key”:5, // and so on
        “key2”:”val”
    },
    {   “key”:6,
        “key2”:”val”
    }
]
}

答案 1 :(得分:0)

我会使用文档中的NSJSONSerialization

  

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

答案 2 :(得分:0)

不确定您想要达到的结果,但此示例可以帮助您了解如何将数组作为值分配到NSDictionary中作为键。

  NSDictionary *NEWjSON= [[NSDictionary alloc]init];
  NSArray *myArray = @[
                     @{
                         @"key" : @"8",
                         @"key2" : @"val",
                         },
                     @{   @"key" : @"5",
                          @"key2":@"val",
                          },
                     @{   @"key":@"6",
                          @"key2":@"val"
                          }
                     ];
     [NEWjSON setValue:myArray forKey:@"megaObject"];