可以使用Jackson从Inner Json对象获得字段



我有这样的 json

{
    "somethingElse": "foobar",
    "snils": {
        "number": "123"
    }
}

和类:

@Data
public class Documents {
    private String snilsNumber;
    private String somethingElse;
}

我可以用注释或其他内容轻松地将JSON映射到我的课程吗?

您可以使用'@jsonrootname'

@Data
 @JsonRootName(value = "snils")
  @JsonIgnoreProperties(unknown = true)
 public class Documents {
         private String number;
  }

您可以使用带有JsonProperty注释的额外更新方法对其进行审理。

class Documents {
    private String snilsNumber;
    private String somethingElse;
    @JsonProperty("snils")
    private void unpackSnils(Map<String, Object> brand) {
        this.snilsNumber = (String) brand.get("number");
    }
    // getters, setters, toString
}

另请参见:

  1. 杰克逊嵌套值
  2. 使用杰克逊解开内部json对象

最新更新