Ios 向数组添加JSON响应
端点JSON响应总是只有一个Ios 向数组添加JSON响应,ios,objective-c,json,nsarray,afnetworking,Ios,Objective C,Json,Nsarray,Afnetworking,端点JSON响应总是只有一个数组,有两个字典项 [ { "item_1": "Austin", "item_2": "Texas" } ] 我需要创建一个item_1和item_2数组,以便在每次对端点进行新调用时都能向其中添加项。你有没有什么好办法来设置这个 现在,我正在添加一个属性: @property (strong, nonatomic) NSMutableArray *item1Array; 然后将item1Array属性设置为等于来
数组
,有两个字典
项
[
{
"item_1": "Austin",
"item_2": "Texas"
}
]
我需要创建一个item_1
和item_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;
}
)
但是在尝试将新响应添加到item1Array
和item2Array
时遇到了问题
最后,我希望item1Array
中包含多个项目,这些项目反映了通过查询检索到端点的项目(即[@“Austin”,“Denver”]
)
如果您能提供任何帮助或以不同的方式思考这个问题,我们将不胜感激。因此,在解析JSON时,您的两个数组应该已经存在,因此您可以添加新内容。您可以使用KVC提取所需的内容:
NSArray *items = [response valueForKey:@"item_1"];
然后,您只需添加
项
即可创建两个NSMutable数组。根据您的json,我们只有一个数组对象,在该对象中有一个包含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"]];
你是说你想为项目1和项目2制作不同的数组吗?@RajanMaheshwari是的,一个数组用于城市(项目1),一个数组用于州(项目2)然后,您需要有两个NSMutable数组,解析JSON并将item1附加到第一个mutable数组,将item2附加到第二个mutable数组array@RajanMaheshwari以
item_1
为例:我已经有了一个名为item1Array
的NSMutableArray
,对吗?我相信我也用response
解析了JSON?因此,我陷入困境的是将item_1
附加到item1Array
中,有什么想法吗?基本上你是在覆盖可变数组,你应该使用临时json数组或responseArray。然后在数组中还有一个字典。您需要使用value for key来获取特定的键值,如item_1,然后将其追加作为一个可变数组,它将保存随时间追加的所有城市,然后执行[self.w1Array addObject:items]代码>或[self.w1Array addObjectsFromArray:items]代码>我得到null
。这就是我应该添加的内容吗?谢谢你的帮助@Wain我希望我有足够的信誉来投票给你,你对我的帮助不是addObject:
,因为items
是一个数组addObjectsFromArray:
。当我执行[self.item1Array addObject:[[self.item1Array objectAtIndex:0]valueForKey:@“item_1]”时
或[self.item1Array addObject:[[response objectAtIndex:0]valueForKey:@“item_1”]代码>但我得到空值。我肯定会得到一个响应数组,但无论我做什么附加都似乎不起作用?我已经编辑了答案,您必须首先初始化可变数组。并为json响应使用不同的数组。不同的数组