1. 程式人生 > >關於使用jackson.jar解析JSON時,大寫JSON key值發生報錯的問題

關於使用jackson.jar解析JSON時,大寫JSON key值發生報錯的問題

最近在專案中呼叫.NET的服務時,Jackson在解析返回的json字串時始終報錯,糾結很久之後才找到原因,原來是是由於json字串中的字母都是首字母大寫,導致jackson找不到相應的KEY。

        解決方法有兩種:

  • 直接將bean物件中的屬性改為public,屬性名命名為首字母大寫,比如{"Name":"nomouse","Age":12},定義相應的bean為:
  1. publicclass User {  
  2.     public String Name;  
  3.     publicint Age;  
  4. }  


  • 但是第一種方法不符合Java的命名規範,總覺的很彆扭,所以可以用第二種方法,在屬性上添加註解:
  1. publicclass User {  
  2.     @JsonProperty(value = "Name")  
  3.     private String name;  
  4.     @JsonProperty
    (value = "Age")  
  5.     privateint age;  
  6. }  

         採用上面兩種方式不僅在解析json的時候有效,在輸出json流的時候同樣是以大寫字母開頭。

轉自:http://blog.csdn.net/nomousewch/article/details/9203419