關於使用jackson.jar解析JSON時,大寫JSON key值發生報錯的問題
阿新 • • 發佈:2019-01-05
最近在專案中呼叫.NET的服務時,Jackson在解析返回的json字串時始終報錯,糾結很久之後才找到原因,原來是是由於json字串中的字母都是首字母大寫,導致jackson找不到相應的KEY。
解決方法有兩種:
- 直接將bean物件中的屬性改為public,屬性名命名為首字母大寫,比如{"Name":"nomouse","Age":12},定義相應的bean為:
- publicclass User {
- public String Name;
- publicint Age;
- }
- 但是第一種方法不符合Java的命名規範,總覺的很彆扭,所以可以用第二種方法,在屬性上添加註解:
- publicclass User {
- @JsonProperty(value = "Name")
- private String name;
- @JsonProperty
- privateint age;
- }
採用上面兩種方式不僅在解析json的時候有效,在輸出json流的時候同樣是以大寫字母開頭。
轉自:http://blog.csdn.net/nomousewch/article/details/9203419