我正在使用带有Gson包的JSON for java。 我有一个对象,其中有一些内部引用从一个字段中的对象到另一个字段中的对象。例如:
{“loci”:[{“id”:“loc1”,
“长度”:10000,“开始”:2},
{“id”:“loc2”,“length”:100,
“开始”:50000}],“情景”:[ {“id”:“scen1”,“loci”:[ { “id”:“loc1”, “长度”:10000, “开始”:2 }, { “id”:“loc2”, “长度”:100, “开始”:50000 }]},]}
所以我实际上只在我的java程序(loc1和loc2)中定义了两个locus对象,但在打印输出中,对象是重复的,并且出现在“loci”和“scen1”里面。 JSON能否反映出实际上只有两个对象(所以当我加载它时,它不会创建四个基因而不是两个)?
答案 0 :(得分:3)
没有。 JSON仅处理值,而不处理引用。您将需要使用某种约定来指示值实际上是一个引用,并编写自定义序列化器/反序列化器。