3

Java用のGsonパッケージでJSONを使用しています。あるフィールドのオブジェクトから別のフィールドのオブジェクトへの内部参照があるオブジェクトがあります。例えば:

{"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" 、"長さ":100、 "開始":50000}]}、]}

したがって、実際にはJavaプログラムで定義されているlocusオブジェクトは2つ(loc1とloc2)だけですが、印刷出力ではオブジェクトが複製され、「loci」の下と「scen1」の両方に表示されます。JSONは、実際にはオブジェクトが2つしかないことを反映できますか(したがって、ロードすると、2つではなく4つの遺伝子座が作成されません)。

4

1 に答える 1

3

いいえ。JSONは値のみを扱い、参照は扱いません。ある種の規則を使用して、値が実際に参照であることを示し、カスタムシリアライザー/デシリアライザーを作成する必要があります。

于 2010-07-29T13:16:17.643 に答える