3

この形式のJSON応答があります

{"status":
{
"id":0,
"offerList":[{"offerId":38,"title":"TITLE OFFER 38","shortDescription":"OFFER PCT 38","orginalPrice":100,"image":"offer-38.jpg","description":"DESCRIPTION OFFER 38","shopId":4,"startDate":"5/29/2011 12:00:00 AM","endDate":"8/10/2011 12:00:00 AM","startTime":"16:30:00","endTime":"21:59:59","insertionDate":"7/5/2011 4:42:40 AM","categoryId":0,"subCategoryId":0,"published":1}

"shopList":[{"id":4,"name":"Store 1","street":"Street Store 1","postCode":"88214","city":"Barcelona","state":"","country":"Spain, Kingdom of","description":"Loc Description Store 1","url":"http://www.store-1.com","email":"store1@gmail.com","telephone":"Phone-number-store-1","published":1,"lastUpdated":"7/5/2011 4:42:40 AM","latitude":41.4398,"longitude":2.1601}]
}
}

オブジェクトマッピングにrestkitを使用しています。RKManagedObjectを使用してこのJSONをマッピングするための可能な方法は何でしょうか。誰か助けてくれませんか。私は過去3日間立ち往生しています。ありがとう

4

3 に答える 3

4

ザック、おそらくRestKitメーリングリストでこの質問をし、達成したいことについてもう少し具体的にする必要があります。

とにかく、RestKitの作者であるBlake Wattersは、オブジェクトマッピングについて説明した新しいドキュメントを投稿しました。これは、すべての質問に答えるはずです。幸運を!

于 2011-07-06T06:26:33.113 に答える
1

これは役に立たないかもしれませんが、オブジェクトをマップしようとするとRestKitがクラッシュするという問題があり、問題は値をキーパス'description'にマップしようとしたことでした。'description'はObjective-Cのキーワードであるため、これは実行できませんでした。その名前を別の名前に変更してみてください。

于 2012-02-23T15:50:53.733 に答える
0

ザック、

JSONでの対応するマッピングの名前が何であれ、keyPathと呼びます。RestKit 0.9.2を使用し、新しいオブジェクトマッピングを使用します。

ステータス(親)からオファーやショップ(子)までの1対多の関係が必要であると想定します。ここでは、プロパティ名は暗黙的です。

通常、アプリデリゲートでは、次のようにマッピングを構成できます。

RKObjectMapping* statusMapping = [RKObjectMapping mappingForClass:[Status class]];
[statusMapping mapKeyPathToAttributes:@"statusId",@"id"] // This maps JSON status.id to objc Status.statusId

RKObjectMapping* offerMapping = [RKObjectMapping mappingForClass:[Offer class]];
// Add more pairs as needed in the line below
[offerMapping mapKeyPathToAttributes:@"offerId",@"offerId",@"title",@"title",@"shortDescription",@"shortDescription"];

//Do the same thing for your Shop mapping

//Configure relationships:
//Assumes Status class has a property of type NSArray* offers that will contain multiple orders
[statusMapping mapKeyPath:@"orderList" toRelationship:@"orders" withObjectMapping:offerMapping];

//Do the same thing for your Shop relationship

よろしく、

于 2011-07-14T06:24:45.957 に答える