Java 可以使用jackson从内部json对象获取字段吗?
我有这样的Java 可以使用jackson从内部json对象获取字段吗?,java,jackson,Java,Jackson,我有这样的json: { "somethingElse": "foobar", "snils": { "number": "123" } } 和类别: @Data public class Documents { private String snilsNumber; private String somethingElse; } 我可以用注释或其他东西轻松地将json映射到我的类吗?您可以使用“@JsonRootName” @Data
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
}
类文档{
私有字符串snilsNumber;
私有字符串somethingElse;
@JsonProperty(“snils”)
私家侦探小说(地图品牌){
this.snilsNumber=(字符串)brand.get(“number”);
}
//接球手、二传手、投球手
}
另见:
有
@JsonUnwrapped
,但它的工作方式正好相反:有一种工作方式可能会有帮助::EDIT:从链接的问题来看,它似乎通过用@JsonUnwrapped
注释您的snilsNumber
来工作,我已经把问题改得更精确了。你试过了吗?我认为这应该仍然有效@faoxis