Генерация ссылок с использованием GSON вместо сериализации всего дерева объектов - PullRequest
1 голос
/ 25 октября 2011

я хочу сериализовать дерево объектов с помощью gson.Это прекрасно работает, но я не хочу передавать все дерево.Особенно я хочу создавать ссылки на дочерние объекты.

Например:

class BookStrore {
  public String name;
  public List<Book> books;
}

class Book {
  public int id;
  public String name;
}

Сериализация экземпляра BookStore приведет к чему-то вроде:

{ name : 'bookStoreName', 'books' : [ { id: '3', name: 'blubb' }, ... ] } 

, но я хочуиметь ссылки вроде:

{ name: 'bookStoreName', 'books': [ book: 'http://example.com/book/3', ... ] }

Кто-нибудь знает, как этого добиться с GSON?Я не привязан к GSON.Если у кого-то есть другое решение, добро пожаловать.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

спасибо за ссылку.Это заставило меня снова подумать о проблеме с другой точки зрения.Я наконец осознал, что проблема в моем подходе, потому что, если вы утверждаете, что в «Книжном магазине» есть список книг, должен быть список книг, а не список ссылок.Конечно, в Java список книг - это также список ссылок.Так что я могу начать создавать прокси.Для этого мне нужно изменить сериализатор / десериализатор.Но это нарушило бы стандартную, в моем случае java, модель программирования.Другой подход, который я предпочитаю, потому что он более понятен независимо от системы, для создания специальных объектов передачи данных.В этом случае BookLinks и пусть класс BookStore содержит список BookLinks.Я думаю, что это правильный путь, потому что он показывает, что это, ссылка, а не объект.

0 голосов
/ 25 октября 2011

Я думаю, вы можете найти часть ответа с аннотацией

http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...