Есть ли простой способ сопоставления данных из JSON в поля моего класса с помощью API android?JSON to Java class
JSON:
{ email: 'email', password: 'pass' }
Мой класс:
class Credentials
{
string email;
string password;
}
Есть ли простой способ сопоставления данных из JSON в поля моего класса с помощью API android?JSON to Java class
JSON:
{ email: 'email', password: 'pass' }
Мой класс:
class Credentials
{
string email;
string password;
}
Используйте org.json -Package.
JSONObject x = new JSONObject(jsonString);
Credentials c = new Credentials();
c.email = x.getString("email");
c.password = x.getString("password");
Его также часть времени работы андроида, поэтому вам не нужен внешний пакет.
Он действительно включен, но он точно не отображает данные. Он анализирует/записывает JSON и предлагает простой API на основе узлов. Но это ваш код делает отображение здесь. – StaxMan
Я делаю это, создавая конструктор в Credentials с полями, поэтому я могу сделать тот же код в 2 строках. JSONObject x = новый JSONObject (jsonString); Учетные данные c = новые учетные данные (x.getString («email»), x.getString («пароль»)); – JPM
Вы можете использовать GSON.
знать об этой проблеме с телефонами HTC: http://sites.google.com/site/gson/gson-on-android –
Я полагаю, у вас есть более одного Credential и хотят получить ...
с пакетом org.json вы могли бы использовать JSONArray, чтобы получить различные значения в то же время из одного файла JSON.
Использование Jackson. Гораздо удобнее (и, если производительность имеет значение, быстрее), чем при использовании пакетных классов org.json и пользовательский код:
Credentials c = new ObjectMapper().readValue(jsonString, Credentials.class);
(только обратите внимание, что поля полномочий должны быть «общественность», чтобы быть обнаруженным, или должны иметь методы сеттера)
Ниже приведен пример: http://goo.gl/BsuaM –