3

您好我正在尝试对以下 JSON 进行对象映射:

{    
"0":{       
       "chapter":"four",       
       "book":"Time Machine"    
    },    
"1":{       
      "chapter":"nine",       
      "book":"Science"    
    },    
"2":{       
      "chapter":"one",       
      "book":"Fiction Man"    
    },    
"3":{       
      "chapter":"25",       
      "book":"Cars"    
    } 
}

我正在使用的代码:

RKObjectMapping *bookMapping = [RKObjectMapping mappingForClass:[Book class]];

[[RKObjectManager sharedManager].mappingProvider addObjectMapping:bookMapping];

[retailerMapping mapKeyPathsToAttributes:@"chapter", @"chapter",@"book", @"book", nil];
[objectManager.mappingProvider setMapping:bookMapping forKeyPath:@"0"];

这适用于第一组,但显然会跳过 1、2 和 3。我怎样才能做到这一点?

任何帮助将不胜感激。

4

1 回答 1

1

如果您可以控制 JSON 的结构,请将其更改为数组而不是字典。否则你可以尝试 mapKeyPath 到 key.attribute,例如 0.chapter

JSON 示例:

{chapters:[    
   {       
   "chapter":"four",       
   "book":"Time Machine"    
   },    
  {       
  "chapter":"nine",       
  "book":"Science"    
  },    
  {       
  "chapter":"one",       
  "book":"Fiction Man"    
  },    
  {       
  "chapter":"25",       
  "book":"Cars"    
  }
 ] 
}
于 2012-10-24T04:21:55.557 回答