私は2つのクラスを持っています
- 属性 ID を持つ著者、論文 (論文関係)、...
- id、mainAuthor (著者関係)、authors (著者関係) ... という属性を持つ論文
いくつかのJSONをそれにマップしたい
"authors": [
{
"id": 123,
"papers": [
{
"id": 1,
"main_author_id": 123,
...
},
...
]
},
...
]
問題は、JSON が次のように構造化されていないことです。
"authors": [
{
"id": 123,
"papers": [
{
"id": 1,
"main_author": {
"id": 123
}
...
},
...
]
},
...
]
簡単にマッピングできるように (両方の JSON 例の *main_author* 部分に注意してください)。here で説明されているように、キーパスなしでこの値をマッピングしてみました:
[authorMapping addAttributeMappingToKeyOfRepresentationFromAttribute:@"main_author_id"];
[authorMapping addAttributeMappingsFromDictionary:@{@"(main_author_id)": @"id"}];
しかし、keyPath idが既に存在し、この keyPath に 2 番目のマッピングを追加できない可能性があるというエラーが表示されます。私はこのエラーを完全に理解していますが、 *main_author_id* からidにマップする方法がわかりません。データ ソースを変更することが最善の解決策かもしれませんが、残念ながらこれは不可能です。
どんな提案でも大歓迎です!ありがとう!