1. 程式人生 > >JSON中key為大寫解決方案

JSON中key為大寫解決方案

在對接第三方平臺時,拿到了一個json串,裡面的key為大寫,但自己定義的實體類屬性為小寫,轉換會出現問題

json如下:

{"data":{"ALTER":[{"alterDate":"2017-01-10","alterBefore":"200萬元","alterAfter":"10000萬元","alterItem":"註冊資本(金)變更"}]},"seqNum":"","message":"成功","status":0}

解決方案:

在實體類加入註解:@JsonProperty   @JsonIgnore  

  1. package com.jshx.uam.authReq.xml;  
  2. import java.io.IOException;  
  3. import net.sf.json.JSONObject;  
  4. import org.codehaus.jackson.JsonGenerationException;  
  5. import org.codehaus.jackson.annotate.JsonIgnore;  
  6. import org.codehaus.jackson.annotate.JsonProperty;  
  7. import org.codehaus.jackson.map.JsonMappingException;  
  8. import org.codehaus.jackson.map.ObjectMapper;  
  9. public class SessionHeader {  
  10.     @JsonProperty("ActionCode")  
  11.     private String ActionCode = "";  
  12.     @JsonProperty("TransactionID")  
  13.     private String TransactionID = "";  
  14.     @JsonProperty("RspTime")  
  15.     private String RspTime = "";  
  16.     @JsonProperty("DigitalSign")  
  17.     private String DigitalSign = "";  
  18.     @JsonProperty("Response")  
  19.     private Response Response;   
  20.     public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {  
  21. SessionHeader sh = new SessionHeader();  
  22. sh.setActionCode("1");  
  23.         ObjectMapper mapper = new ObjectMapper();   
  24.         String json=mapper.writeValueAsString(sh);  
  25.         System.out.println(json);   
  26.         sh=mapper.readValue(json, SessionHeader.class);  
  27.         System.out.println(sh.getActionCode());  
  28.     }  
  29.     @JsonIgnore  
  30.     public String getActionCode() {  
  31.         return ActionCode;  
  32.     }  
  33.     @JsonIgnore  
  34.     public void setActionCode(String actionCode) {  
  35.         ActionCode = actionCode;  
  36.     }  
  37.     @JsonIgnore  
  38.     public String getTransactionID() {  
  39.         return TransactionID;  
  40.     }  
  41.     @JsonIgnore  
  42.     public void setTransactionID(String transactionID) {  
  43.         TransactionID = transactionID;  
  44.     }  
  45.     @JsonIgnore  
  46.     public String getRspTime() {  
  47.         return RspTime;  
  48.     }  
  49.     @JsonIgnore  
  50.     public void setRspTime(String rspTime) {  
  51.         RspTime = rspTime;  
  52.     }  
  53.     @JsonIgnore  
  54.     public String getDigitalSign() {  
  55.         return DigitalSign;  
  56.     }  
  57.     @JsonIgnore  
  58.     public void setDigitalSign(String digitalSign) {  
  59.         DigitalSign = digitalSign;  
  60.     }  
  61.     @JsonIgnore  
  62.     public Response getResponse() {  
  63.         return Response;  
  64.     }  
  65.     @JsonIgnore  
  66.     public void setResponse(Response response) {  
  67.         Response = response;  
  68.     }  
  69. }