Не знаю, правильна ли ваша конечная точка службы, но она возвращает 339. Это ясно означает, что ваша служба api не возвращает строку json.Ваш первый приоритет должен быть для получения правильной конечной точки.Если у вас есть правильная конечная точка, пожалуйста, следуйте приведенным ниже шагам, чтобы получить объекты Java из строки json.
Например, у вас есть следующая строка json, которую вы хотите преобразовать в объект Java:
{"firstname":"Ashwani","lastname":"Kumar","age":"30"}
Добавьте зависимости парсера Джексона, которые будут включены в файл Gradle.
compile 'com.fasterxml.jackson.core:jackson-databind:2.8.5'
compile 'com.fasterxml.jackson.core:jackson-core:2.8.5'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.8.5'
Исключите META-INF / LICENSE в теге android в файле Gradle, чтобы избежать ошибки в файле с двойной лицензией в Android studio
packagingOptions {
exclude 'META-INF/LICENSE'
}
Создайте модель для разбора вашей строки json.используйте следующую службу для автоматического создания моделей: http://www.jsonschema2pojo.org/
Вставьте строку json в и выберите JSON в качестве типа источника.нажмите кнопку предварительного просмотра или загрузки, чтобы получить сгенерированные классы Java.В этом случае мы получаем следующий класс java:
package com.example;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"firstname",
"lastname",
"age"
})
public class Person {
@JsonProperty("firstname")
private String firstname;
@JsonProperty("lastname")
private String lastname;
@JsonProperty("age")
private String age;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("firstname")
public String getFirstname() {
return firstname;
}
@JsonProperty("firstname")
public void setFirstname(String firstname) {
this.firstname = firstname;
}
@JsonProperty("lastname")
public String getLastname() {
return lastname;
}
@JsonProperty("lastname")
public void setLastname(String lastname) {
this.lastname = lastname;
}
@JsonProperty("age")
public String getAge() {
return age;
}
@JsonProperty("age")
public void setAge(String age) {
this.age = age;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
Анализ строки json для объекта java, используя следующий код:
//Example Json String
String personJsonStr = "{\"firstname\":\"Ashwani\",\"lastname\":\"Kumar\",\"age\":\"30\"}";
//Pass the jason string and model class you want to convert you json string into
Person person = mapper.readValue(personJsonStr, Person.class);
// read from json string
String firstName = person.getFirstname();
String lastName = person.getLastname();
String age = person.getAge();