【发布时间】:2017-10-16 15:43:26
【问题描述】:
我有一个带有子对象数组的 JSON 结构(包括 POCO 类),如下所示:
“目的”: [ { "名称": "TestA", “儿童对象”:[ { “名称”:“TestB” “儿童对象”:[ { “名称”:“TestC” ... } ] } ]反序列化时,我想保留对父级的引用 我刚刚创建的对象。
但我必须在填充子对象之前获取此引用。(在填充子对象的那一刻,我必须让父对象结构/引用可访问)。
我尝试过使用自定义 JsonConverter,但是 我找不到存储或检索这种关系的方法。
【问题讨论】:
-
您是否尝试将
PreserveReferencesHandling设置为Objects?如果这样做,则不需要转换器;引用将通过特殊的$id和$ref元属性保存在 JSON 中。 -
@BrianRogers,我考虑过将“父对象”属性添加到“对象类”中。这样我就可以得到对父母的引用。您刚才所说的这些参考资料是否适合这种用途? (如果它可以作为对 JSON 文件上的父节点的引用)
-
是的,您的子对象可以引用父对象,反之亦然,如果您在序列化和反序列化时都使用该设置,它应该可以工作。
-
您能否edit 分享您的类型的(最好是简化的)版本——即minimal reproducible example?我很困惑哪些类型对应于上面的 JSON,哪些类型在创建过程中需要父级。
-
@dbc,完成了