Я передаю строку json из restclient в resteasy webservice для пользователя объекта модели.Вызвано: org.codehaus.jackson.map.JsonMappingException: не удается десериализовать экземпляр com.model.user из токена START_ARRAY
Я поставил Content-Type = применение/JSON
и моя JSON строка в теле выглядит следующим образом,
{
"id": "100",
"email": "email",
"add": [
{
"lastName": "lastName",
"firstName": "firstName"
},
{
"firstName": "firstName",
"lastName": "lastName"
}
]
}
Если я удалить добавить объект массива, как показано ниже, то я получаю ответ как и ожидалось.
{
"id": "100",
"email": "email",
}
Когда я пытаюсь отправить добавить массив, сервер бросает изречение исключение,
Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of com.model.add out of START_ARRAY token
Я попробовал этот путь также, но он не работает,
{
"id": "100",
"email": "email",
"lastName": "Something Four",
"firstName": "Something Five"
}
Тогда ниже,
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "lastName" (Class com.model.user), not marked as ignorable
Мои объекты модели ниже,
public class user implements Serializable {
@Id
@Column(name="Id", unique=true, nullable=false)
private int id;
@Column(name="email", nullable=true, length=60)
private String email;
@ManyToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="Id", nullable=false)
private add add;
}
public class add implements Serializable {
@Id
@Column(name="Id", unique=true, nullable=false)
private String id;
@Column(name="LastName", nullable=true, length=128)
private String lastName;
@Column(name="FirstName", nullable=true, length=128)
private String firstName;
}
Мой класс обслуживания
@POST
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response addAccount(@FormParam("id") String id,
@FormParam("lastName") String lastName,
@FormParam("firstName") String firstName,
@FormParam("email") String email{
user.setId(id);
add.setLastName(lastName);
add.setFirstName(firstName);
user.setEmailAddress(email);
}
Может кто-нибудь мне помочь в прохождении объекта одна модель внутри другой модели объекта в виде массива в JSON строку?
Пожалуйста, покажите нам JSON, который вы отправляете. Джексон говорит вам, что это не массив JSON. – fge
это JSON я использую, { "ID": "100", "электронная почта": "электронная почта", "добавить": [ { "LastName": "LastName", "FirstName": "FirstName" }, { "FirstName": "Имя", "LastName": "LastName" } ] } я подтверждено его с помощью jsonlint и его показ, как действительный JSON \ – user1660325
это не. вопрос. Я спрашиваю, что вы отправляете в качестве массива _add_, который вы удалили. – fge