В моем проекте java spring у меня есть строка json-массива с объектами. Я хочу получать данные из строки, а затем сохранять в базу данных.json array с объектами, не получающими
Итак, у меня есть: POJO класс
public class Contact {
private String id;
private String name;
private String mobile;
//getters and settrs & constructors
}
, и я хочу, чтобы получить данные, как показано ниже код:
String stringdata=["{"id":"1","mobile":"1860108","name":"Intex"}",
"{"id":"21","mobile":"777717717","name":"pari"}",
"{"id":"26","mobile":"172676236","name":"pari2"}"];
try {
Contact contact1 = new Contact();
try {
contact1 = new Gson().fromJson(contactreceive, Contact.class);
}
catch (UnsupportedEncodingException uee) {
return new ResponseEntity<Object>("failed", HttpStatus.EXPECTATION_FAILED);
}
Contact contact = new Contact(contact1.getId(),contact1.getName(),contact1.getMobile());
userDao.saveContact(contact);
return new ResponseEntity<Object>("created", HttpStatus.CREATED);
} catch (Exception e) {
logger.error("Mobile User Signup > Error: " + e.getMessage());
return new ResponseEntity<Object>(HttpStatus.NO_CONTENT);
}
}
Но я получаю ошибку:
мобильных пользователей Регистрация > Ошибка: java.lang.IllegalStateException: ожидается BEGIN_OBJECT, но BEGIN_ARRAY в строке 1 столбец 2
без удаления массива, как я могу получить эти контакты?
попытаться обернуть его как { «данные»: [ваш массив идет здесь]} –
вы тратите другие пользователи времени, показывая пример кода, который содержит переменные, не объявлены и не имеют объяснений. Вы объявляете stringdata, который не используется, и используйте userDao, который не объявлен. Кроме того, вы должны правильно отформатировать свой код – Christian
@Christian Я думаю, вы не понимали, что это всего лишь фрагмент кода. Если он отправил предложение об ошибке, тогда скомпилированный код. Что касается времени, то все, кто размещает здесь в SO (включая вас), тратят время другого пользователя. :) – Paulo