Java JSON:无法识别的字段异常,尽管POJO和JSON文件中有所有字段
我在stackoverflow和外界看到了这个问题的多种答案。但我无法理解这里的真正问题 我有一个pojo课程,如下所示Java JSON:无法识别的字段异常,尽管POJO和JSON文件中有所有字段,java,json,jackson,Java,Json,Jackson,我在stackoverflow和外界看到了这个问题的多种答案。但我无法理解这里的真正问题 我有一个pojo课程,如下所示 public class User{ private int id; private String name; private String houseNumber; private String location; public int getId() { return id; } public v
public class User{
private int id;
private String name;
private String houseNumber;
private String location;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getname() {
return name;
}
public void setname(String name) {
this.name = name;
}
public String gethouseNumber() {
return houseNumber;
}
public void sethouseNumber(String houseNumber) {
this.houseNumber = houseNumber;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
我有一个JSON文件,如下所示:
[{
"id":1,
"name": "roy",
"houseNumber":"No/242",
"location" :"Germany"
},
{
"id":2,
"name": "philip",
"houseNumber":"No/252",
"location" :"Germany"
}]
文件的每个json条目都有一个带有值的字段位置。但是为什么在POJO和JSON文件中都有异常未识别字段“location”呢?我想知道原因。许多解决方案建议使用JSON注释,比如
@JsonIgnoreProperties
。这对我不起作用。尝试在你的getter和setter上正确使用camel case,我知道这有时确实会导致Jackson产生意想不到的结果
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHouseNumber() {
return houseNumber;
}
public void setHouseNumber(String houseNumber) {
this.houseNumber = houseNumber;
}
我尝试了你的代码,它对我来说很好
@JsonIgnoreProperties不是必需的。您可以执行以下操作
String jsonString = "[{\"id\":1,\"name\": \"roy\",\"houseNumber\":\"No/242\",\"location\" :\"Germany\"},{\"id\":2,\"name\": \"philip\",\"houseNumber\":\"No/252\",\"location\" :\"Germany\"}]";
ObjectMapper mapper = new ObjectMapper();
List<User> a = mapper.readValue(jsonString, new TypeReference<ArrayList<User>>() {});
String jsonString=“[{\'id\':1,\'name\':\'roy\',\'houseNumber\':\'No/242\',\'location\':\'Germany\',{\'id\':2,\'name\':\'philip\',\'houseNumber\':\'No/252\',\'location\':'Germany\'”;
ObjectMapper mapper=新的ObjectMapper();
列表a=mapper.readValue(jsonString,newTypeReference(){});
post complete POJO(包括getter和setterPosted JSON)代表用户列表。您是将其反序列化为列表还是用户对象?如果您试图将该JSON转换为用户对象,则会出现无法识别的属性异常