我正在使用 JSON 和 Java 的 Gson 包。 我有一个对象,其中有一些从一个字段中的对象到另一个字段中的对象的内部引用。例如:
{ "loci": [ { "id": "loc1",
"length": 10000, "start": 2 },
{ "id": "loc2", "length": 100,
"start": 50000 } ], "scenarios": [ { "id": "scen1", "loci": [ { "id": "loc1", "length": 10000, "start": 2 }, { "id": "loc2", "length": 100, "start": 50000 } ] }, ] }
所以实际上我的 java 程序中只定义了两个轨迹对象(loc1 和 loc2),但在打印输出中,对象是重复的并且同时出现在“loci”下和“scen1”内。 JSON 能否反射(reflect)出实际上只有两个对象(所以当我加载它时,它不会创建四个位点而不是两个)?
最佳答案
没有。 JSON 只处理值,不处理引用。您将需要使用某种约定来指示一个值实际上是一个引用,并编写自定义序列化程序/反序列化程序。
关于java - json:引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3362775/