Java JSON:无法识别的字段异常,尽管POJO和JSON文件中有所有字段

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

我在stackoverflow和外界看到了这个问题的多种答案。但我无法理解这里的真正问题

我有一个pojo课程,如下所示

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转换为用户对象,则会出现无法识别的属性异常