JSON в класс Java - PullRequest
       8

JSON в класс Java

12 голосов
/ 03 января 2011

Существует ли простой способ сопоставить данные из JSON с полями моего класса с помощью API-интерфейсов Android?

JSON:

{ email: 'email', password: 'pass' }

Мой класс:

class Credentials
{
    string email;
    string password;
}

Ответы [ 4 ]

14 голосов
/ 04 января 2011

Используйте Джексон . Гораздо удобнее (и, если производительность имеет значение, быстрее), чем использовать связанные классы org.json и пользовательский код:

Credentials c = new ObjectMapper().readValue(jsonString, Credentials.class);

(просто обратите внимание, что поля «Учетные данные» должны быть «общедоступными», чтобы их можно было обнаружить; или они должны иметь методы установки)

8 голосов
/ 03 января 2011

Вы можете использовать GSON .

6 голосов
/ 03 января 2011

Используйте пакет org.json .

JSONObject x = new JSONObject(jsonString);
Credentials c = new Credentials();
c.email = x.getString("email");
c.password = x.getString("password");

Он также является частью среды выполнения Android, поэтому вам не нужен внешний пакет.

0 голосов
/ 03 января 2011

Полагаю, у вас есть несколько учетных данных, которые вы хотите получить ...

с пакетом org.json вы можете использовать JSONArray для одновременного получения различных значений из одного файла JSON.

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