java - json:引用

标签 java json gson

我正在使用 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/

相关文章:

java - 如何从 Java 中的类名获取类型

java - 使用 GSON 序列化 java 对象

java - 可缓存注解有什么用

java - 避免组合模式java中的冗余

java - TabbedPane 更改选项卡内的面板

java - 使用Jackson将java对象转换为InputStream(用于上传到S3)?

javascript - Json 编码 数组与仅转换为数组的对象的混合

json - 寻找模式或公式将 Sketch 形状路径点(json 格式)转换为 svg 路径

javascript - 尝试读取 JSP 时出错(500 内部服务器错误)

java - 使用 Gson Response.body() 进行改造不起作用