3

我正在将 JSON 与 Gson 包一起用于 java。我有一个对象,其中有一些从一个字段中的对象到另一个字段中的对象的内部引用。例如:

{ "loci": [ { "id": "loc1",
"length": 10000, "start": 2 },
{ "id": "loc2", "length": 100,
"start": 50000 } ] , "场景": [ { "id": "scen1", "loci": [ { "id": "loc1", "length": 10000, "start": 2 }, { "id": "loc2" , "长度": 100, "开始": 50000 } ] }, ] }

所以我实际上在我的 java 程序中只定义了两个轨迹对象(loc1 和 loc2),但在打印输出中,这些对象被复制并出现在“loci”下和“scen1”内。JSON能否反映实际上只有两个对象(所以当我加载它时,它不会创建四个位点而不是两个)?

4

1 回答 1

3

不,JSON 只处理值,而不是引用。您将需要使用某种约定来指示一个值实际上是一个引用,并编写一个自定义序列化器/反序列化器。

于 2010-07-29T13:16:17.643 回答