Класс JSON для Java

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

JSON:

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

Мой класс:

class Credentials
{
    string email;
    string password;
}

Ответ 1

Используйте org.json -Package.

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

Его также часть времени выполнения android, поэтому вам не нужен внешний пакет.

Ответ 2

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

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

(просто отметьте, что поля учетных данных должны быть "общедоступными", или должны иметь методы настройки)

Ответ 3

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

Ответ 4

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

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