Как сериализовать JSON с Object, содержащим как примитивы, так и типы List <>? - PullRequest
0 голосов
/ 11 июля 2011

Итак, у меня есть класс, который я планировал использовать для простой сериализации JSON.

public class Thing {

  private int field1;
  private String some_other_field;
  private List<SubType> subs;
  private list<AnotherType> another;

  public String toJson() {
    Gson g = new Gson();
    g.toJson(this);
  }
}

Итак, документация показывает, что если вы хотите сериализовать универсальные типы, вам нужно указать TypeToken:

Type listtype = new TypeToken<List<SubType>>() {}.getType();
gson.toJson(subs, listtype);

Но тогда как это работает, если у меня есть целый класс, для которого я хочу сериализоваться?Где я могу указать тип сериализации для этих двух List<> типов, чтобы я мог просто передать весь объект и получить сериализованный вывод?Это вообще возможно?

1 Ответ

1 голос
/ 11 июля 2011

Из документа кажется, что если сериализовать полный объект с помощью toJson (...), он правильно обрабатывает атрибуты универсальных элементов.

toJson (Object)

"Обратите внимание, что этот метод работает нормально, если любое из полей объекта имеет универсальный тип, просто сам объект не должен быть универсального типа"

Какой вывод вы получили с вашим объектом?

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