【发布时间】:2016-01-04 17:24:28
【问题描述】:
在我的 java spring 项目中,我有一个带有对象的 json 数组字符串。我想从字符串中获取数据,然后保存到数据库中。
所以,我有: 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,但在第 1 行第 2 列为 BEGIN_ARRAY
没有删除数组,我如何获取联系人?
【问题讨论】:
-
尝试像 { "data": [your array goes here] } 一样包装它
-
您通过显示包含未声明且没有解释的变量的代码示例来浪费其他用户的时间。您声明未使用的 stringdata 并使用未声明的 userDao。此外,您应该正确格式化您的代码
-
@Christian 我想你没有意识到这只是一段代码。如果他贴出错误语句,则代码编译。关于浪费时间,在 SO 上发帖的每个人(包括您)都在浪费其他用户的时间。 :)
-
只是一个建议:如果你不能解决他的问题,那就去另一个问题或者去看看书。不要发布任何内容。
-
@Paulo,你是对的。