У меня есть строка json (поток социальной сети Qaiku). Как я могу декодировать это в Java? Я искал, но любые результаты работают для меня. Спасибо.
Стандартный способ десериализации объекта следующий:
Gson gson = new Gson(); MyType obj = gson.fromJson(json, MyType.class);
Для примитивов вместо MyType должен использоваться соответствующий класс.
Подробнее см. В Руководство пользователя Gson . Если этот способ не работает для вас - возможно, есть какая-то ошибка во вводе JSON.
В качестве примера использования 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/