也许这里有类似的问题,但我找不到它。所以我有RestKit 0.2pre4并希望映射这样的JSON ......
{
"location": {
"position": {
"latitude": 53.9675028,
"longitude": 10.1795594
}
},
"id": "da3224f2-5919-42f2-9dd8-9171088f4ad7",
"name": "Something even more beautiful",
}
...对于这样一个对象:
@interface FavoritePlace : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * placeId;
@property (assign, nonatomic) double latitude;
@property (assign, nonatomic) double longitude;
@end
正如您所看到的,关键是我不想创建关系并将“Location”对象分别存储在数据库中 - 这没有意义。因此,我想将这些嵌套的东西(location.position.latitude和location.position.longitude)分配给对象本身的特定属性。如何实现?
答案 0 :(得分:1)
显然,我做了一个狂野的屁股猜测,它的确有效!这是诀窍的映射:
[placeMapping addAttributeMappingsFromDictionary:@{
@"id": @"placeId",
@"name": @"name",
@"location.position.latitude": @"latitude",
@"location.position.longitude": @"longitude"
}];
在文档中没有找到这个,但也许只是我...无论如何,如果某些逻辑但没有文档的工作,那么框架应该是好的。 :) RestKit FTW!
答案 1 :(得分:0)
您可以使用
将包含json字符串的字符串传递给nsdataNSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
然后,您将能够使用iOS API解析de json数据
NSError *error;
NSDictionary *json = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil;
现在,检查生成的NSDictionary(例如使用NSlog),填充'FavoritePlace'对象并保留它。
希望有所帮助!