所以我有以下格式的JSON:
{
"data": {
"last_updated": 1342277036,
"stream": [
{
"action": {
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
{
"action": {
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
{
"action": {
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
然后我再发一个请求并得到相同的回复。我想将这两个JSON结合起来,基本上将我所拥有的新“流”数组附加到旧版本。以下是我迄今为止所做的那些慷慨失败:
NSMutableArray *streamArray =
[NSMutableArray arrayWithArray:[[streamDiskData valueForKey:@"data"] valueForKey:@"stream"]];
NSArray *newFeeds = [[jsonData valueForKey:@"data"] valueForKey:@"stream"];
//append the old JSON array with the new feeds stream
[streamArray insertObjects:newFeeds atIndexes:indexSet];
所以streamDiskData
这里是旧的JSON,jsonData
是新的JSON。我做错了什么,我该怎么做?
答案 0 :(得分:0)
我无法看到你indexSet
实际上是什么,但尝试使用更像这样的东西:
NSMutableArray *streamArray =
[NSMutableArray arrayWithArray:[[streamDiskData valueForKey:@"data"] valueForKey:@"stream"]];
NSArray *newFeeds = [[jsonData valueForKey:@"data"] valueForKey:@"stream"];
//append the old JSON array with the new feeds stream
[streamArray addObjectsFromArray: newFeeds];
addObjectsFromArray
是你用来追加第二个数组的方法。 insertObjects:atIndexes:
用于在其他位置插入newArray
数据,而不仅仅是streamArray
的结束。但是,你的问题是追加,所以我建议改用addObjectsFromArray
。