3

不明なキーを持つオブジェクトに既知のスキーマを持つオブジェクトを含むJSONドキュメントがあり、RestKitを使用してマッピングしたいと思います。これを説明させてください:

{
    "object":
    {
        "unknownKey1" : {"data1" : "...", "data2" : "..."},
        "unknownKey2" : {"data1" : "...", "data2" : "..."},
        "unknownKey3" : {"data1" : "...", "data2" : "..."}
    }
}

キー「object」を使用したオブジェクトの設定は、実行時にのみ認識されます。オブジェクトに含まれるキーにはランダムな名前が付いています。ただし、これらの不明なキーに格納されているオブジェクトの正確なスキーマはわかっています。

ここで、キー「object」を持つオブジェクトのコンテンツをNSDictionaryにマップします。これにより、ランダムキーに簡単にアクセスできるようになります。ただし、これらのキーに格納されているオブジェクトのスキーマはわかっているので、カスタムオブジェクトにマップしてほしいと思います。

では、これらのオブジェクトを含むNSDictionaryにマップする可能性はありますか?解決策が見つかりません...

4

2 に答える 2

3

あなたはこのようなことをすることができます:

RKObjectMapping* mapping = [RKDynamicObjectMapping dynamicMapping];
mapping.objectMappingForDataBlock = ^(id data) {
    NSDictionary* object = [data objectForKey: @"object"];
    NSArray* keys = [object allKeys];

    RKObjectMapping* dataMapping = [RKObjectMapping objectMapping];
    //Use the keys to define mapping
    return dataMapping;
};
于 2012-08-21T14:43:25.177 に答える
0

JSONKit https://github.com/johnezang/JSONKitをチェックして、JSONドキュメントからNSDictionaryを作成してください。

于 2012-08-21T14:46:03.870 に答える