我有对象Bill,我在其中@@ JsonRootName(value =“ bill”)。 我有结果Bill {siteId ='null',billId ='null'}在哪里我犯错了? 我的json
{
"bill":
{
"siteId":"gkfhuj-00",
"billId":"11b0309c-42b8-4d20-bd58-3e854f039287"
}
}
我班的比尔
@JsonRootName(value = "bill")
public class Bill {
private final String siteId;
private final String billId;
public Bill(String siteId, String billId) {
this.siteId = siteId;
this.billId = billId;
}
public String getSiteId() {
return siteId;
}
public String getBillId() {
return billId;
}
@Override
public String toString() {
return "Bill{" +
"siteId='" + siteId + '\'' +
", billId='" + billId + '\'' +
'}';
}
}
我让Json Object满意的方法
@PostMapping("/json")
@ResponseBody
public ResponseEntity getJson(@RequestBody Bill bill) {
System.out.println(bill.toString());
return null;
}
答案 0 :(得分:0)
问题可能出在杰克逊的“功能切换”上。您需要在ObjectMapper
中启用UNWRAP_ROOT_VALUE。因此,如果您使用的是Spring,这应该进入@Bean
配置的某个位置:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true);