2010-07-29 2 views
3

Я использую JSON с пакетом Gson для java. У меня есть объект, где есть некоторые внутренние ссылки от объекта в одном поле для объекта в другом поле. Например:json: ссылки

{ "локусов": [{ "ID": "LOC1",
"длина": 10000, "старт": 2},
{ "ID": "LOC2", "длина": 100,
"старт": 50000}], "сценарии": [ { "ID": "scen1", "локусы": [ { "ID": "LOC1", «длина «: 10000, "старт": 2 }, { "ID": "LOC2", "длина": 100, "Пуск": 50000 }]},]}

Таким образом, у меня фактически есть только два объекта локуса, определенные в моей программе java (loc1 и loc2), но в распечатке объекты дублируются и отображаются как под «loci», так и внутри «scen1». Может ли JSON отражать, что на самом деле есть только два объекта (поэтому, когда я загружаю его, он не будет создавать четыре локуса вместо двух)?

ответ

3

Нет. JSON занимается только значениями, а не ссылками. Вам нужно будет использовать какое-то соглашение, чтобы указать, что значение на самом деле является ссылкой, и написать собственный сериализатор/десериализатор.

+0

спасибо, я отправляю другое последующее сообщение –

+0

См. Здесь: http://stackoverflow.com/questions/3362939/passing-a-data-structure-from-java-to-perl-and-vice-versa –

Смежные вопросы