1

ここに同様の質問があるかもしれませんが、見つけられませんでした。だから私は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) をオブジェクト自体の特定のプロパティに割り当てたいと考えています。それを達成する方法は?

4

2 に答える 2

1

どうやら、私はワイルドなお尻の推測を行い、うまくいきました! トリックを行うマッピングは次のとおりです。

[placeMapping addAttributeMappingsFromDictionary:@{
     @"id": @"placeId",
     @"name": @"name",
     @"location.position.latitude": @"latitude",
     @"location.position.longitude": @"longitude"     
     }];

ドキュメントでこれを見つけられませんでしたが、多分それは私だけです. :) レストキット FTW!

于 2012-12-20T19:07:42.983 に答える
0

json文字列を含む文字列をnsdataに渡すことができます。

NSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

次に、iOSAPIを使用してdejsonデータを解析できるようになります。

NSError *error;
NSDictionary *json = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error] : nil;

次に、生成されたNSDictionary(たとえば、NSlogを使用)を調べ、「FavoritePlace」オブジェクトを埋めて永続化します。

お役に立てば幸いです。

于 2012-12-20T18:34:33.343 に答える