Как декодировать строку json с помощью gson в Java?

#java #json #social-networking

#java #json #социальные сети

Вопрос:

У меня есть строка json (поток социальной сети Qaiku). Как я могу декодировать ее в Java? Я искал, но любые результаты меня устраивают. Спасибо.

Ответ №1:

Стандартный способ десериализации объекта заключается в следующем:

 Gson gson = new Gson();
MyType obj = gson.fromJson(json, MyType.class);
  

Для примитивов вместо MyType следует использовать соответствующий class.

Вы можете найти более подробную информацию в руководстве пользователя Gson. Если этот способ у вас не работает — вероятно, во вводе JSON какая-то ошибка.

Ответ №2:

В качестве примера использования Gson вы могли бы сделать следующее

 Gson gson = new Gson();
gson.fromJson(value, type);
  

где value — это ваше закодированное значение. Хитрость заключается во втором параметре — типе. Вам нужно знать, каково ваше декодирование и каким типом Java этот JSON будет заканчиваться.

Следующий пример показывает декодирование строки JSON в список объектов домена, называемый Table:

http://javastorage.wordpress.com/2011/03/31/how-to-decode-json-with-google-gson-library/

Для этого тип должен быть указан как:

 Type type = new TypeToken<List<Table>>(){}.getType();
  

Gson доступен здесь:

http://code.google.com/p/google-gson/