将 JSON 个响应添加到数组

Add JSON Responses to Array

端点 JSON 响应始终只有一个 array,有两个 dictionary 项。

[
    {
        "item_1": "Austin",
        "item_2": "Texas"
    }
]

我需要制作一个 item_1item_2 数组,每次对 进行新调用时都能够向它们添加项目端点。对设置它的最佳方式有什么想法吗?

现在,我正在添加 属性:

@property (strong, nonatomic) NSMutableArray *item1Array;

然后设置 item1Array 属性 等于来自 JSON 端点的响应:

self.item1Array = response;
NSLog(@"Response Array: %@", self.item1Array);

记录它:

2016-04-01 13:35:42.787 A[66185:7391524] Response Array: (
        {
        "item_1" = Austin;
        "item_2" = Texas;
    }
)

但是在尝试将新响应添加到 item1Arrayitem2Array 时卡住了。

最终,我希望 item1Array 中包含多个项目,以反映通过查询到端点(即 [@"Austin", @"Denver"])检索到的项目。

任何帮助或与我正在做的不同的思考方式将不胜感激。

所以当 JSON 被解析时,你的 2 个数组应该已经存在,所以你可以添加新的内容。您可以使用 KVC 提取您想要的内容:

NSArray *items = [response valueForKey:@"item_1"];

然后你只需要附加 items.

创建两个 NSMutable 数组。根据您的 json 我们只有 1 个数组对象,在该对象中有一个包含 2 个键和值的字典。

首先在 viewDidLoad

的某处初始化您的可变数组
item1Array = [[NSMutableArray alloc] init];
item2Array = [[NSMutableArray alloc] init];

然后在收到响应时追加。

//Appending item_1 in item1Array which is a NSMutableArray
[item1Array addObject:[[responseArray objectAtIndex:0] valueForKey:@"item_1"]];

//Appending item_2 in item2Array which is a NSMutableArray
[item2Array addObject:[[responseArray objectAtIndex:0] valueForKey:@"item_2"]];