1

所以我有一个以下格式的 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。我做错了什么,我该怎么做?

4

1 回答 1

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不仅仅是. 但是,你的问题是append,所以我建议改用。streamArrayaddObjectsFromArray

于 2012-07-14T21:40:46.050 回答