首先是结构,然后是解释
•[J](json root)
••[A](A对象的数组)
•••[A1](A1的数据)
•••[A2](A2的数据)
•••[A3](...)
••••[A3.B](B对象的数组,A中的成员)
••••••[B1](B1的数据)
••••••[B2](B2的数据)
••••••[B3](...)
••••••••[B3.A](再次排列A,但这一次,它在B里面,嗯!休斯顿,我们有问题!!!)
()所以,正如你所看到的,我有一个难以得到内部/嵌套的A数组,它在B内。
()这种行为在对象C(不是目标-C)等中再次重复一次
()从服务器检索的数据的结构是众所周知的
() 有什么想法吗 ?感谢
更新 - 根据要求演示数据!
{
"arrayOfA": [
{
"a_Property": "Name1",
"array_Of_B": []
},
{
"a_Property": "Name2",
"array_Of_B": []
},
{
"a_Property": "Name3",
"array_Of_B": [
{
"b_Property": 10,
"array_Of_A": []
},
{
"b_Property": 15,
"array_Of_A": []
},
{
"b_Property": 20,
"array_Of_A": [
{
"a_Property": "Name4",
"array_Of_B": []
},
{
"a_Property": "Name5",
"array_Of_B": []
},
{
"a_Property": "Name6",
"array_Of_B": []
}
]
}
]
}
]
}
答案 0 :(得分:2)
映射既可以引用自身,也可以引用映射来处理递归关系。唯一要考虑的是创建所有映射并同时关联它们(不要调用方法来创建映射,因为你可能最终会得到一个无限的调用循环)。
在伪代码中:
Mapping *myMapping = ...;
[myMapping addRelationshipFor:... withMapping:myMapping];
将创建一个映射来处理包含同一对象的其他副本的对象。当两个对象之间存在递归关系时,可以采用相同的方法:
Mapping *myMapping = ...;
Mapping *myOtherMapping = ...;
[myMapping addRelationshipFor:... withMapping:myOtherMapping];
[myOtherMapping addRelationshipFor:... withMapping:myMapping];