我無法將給定的 Json 字符串轉換為 java 對象驗證Json格式,正確。@JsonIgnoreProperties(ignoreUnknown = true)public class DevPol { private String id; private Header header; //Setters and Getters}@JsonIgnoreProperties(ignoreUnknown = true)public class Header { private String name; private String lastUpdate; private int priority; private boolean active; //Setters and Getters}import com.fasterxml.jackson.databind.ObjectMapper;public class ConvertJsonToJava { static String apiResult = "[ {\"Id\":\"5899503ad06f7f0008817430\", \"Header\":{ \"name\":\"ClCol\"," + " \"lastupdate\":\"2017-02-07T04:42:34.654Z\", \"priority\":1, \"active\":true } }," + " { \"Id\":\"5899503ad06f7f0008817431\",\"Header\":{ \"name\":\"SysPol\"," + " \"lastupdate\":\"2017-02-07T04:42:34.659Z\", \"priority\":2, \"active\":true } }]"; public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); DevPol[] devPOlArr = mapper.readValue(apiResult, DevPol[].class); for(DevPol devPol: devPOlArr) { System.out.println(devPol.getId()); } }}我期望輸出為 Id 值,但是結果為 null null
1 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
問題是 json 字段名稱和 java 類字段中的大寫字母。
如果可能的話,重命名 json 和 java 中的 'Id' -> 'id'。否則,您應該將 json 屬性名稱添加到 java 字段:
public class DevPol {
@JsonProperty("Id")
private String Id;
@JsonProperty("Header")
private Header Header;
//Setters and Getters
}
添加回答
舉報
0/150
提交
取消