使用 jackson 解析 json 樣本

來源:互聯網
上載者:User


首先需要下載3個包,在Github FasterXML,這三個核心模組分別是:Streaming ("jackson-core") defines low-level streaming API, and includes JSON-specific implementationsAnnotations ("jackson-annotations") contains standard Jackson annotationsDatabind ("jackson-databind") implements data-binding (and object serialization) support on streaming package; it depends both on streaming and annotations packages。
json檔案:

{     "name":" vonzhou",     "age":123,     "isMan":true}


POJO類:
package jackson.test;import java.util.HashMap;import java.util.Map;import com.fasterxml.jackson.annotation.JsonProperty;public class ExamplePOJO {      @JsonProperty( "name")      private String name;           @JsonProperty( "age")      private Integer age;           @JsonProperty( "isMan")      private Boolean isMan;           private Map additionalProperties = new                HashMap();           @JsonProperty( "name")      public String getName() {            return name;     }      @JsonProperty( "name")      public void setName(String name) {            this. name = name;     }      @JsonProperty( "age")      public Integer getAge() {            return age;     }      @JsonProperty( "age")      public void setAge(Integer age) {            this. age = age;     }      @JsonProperty( "isMan")      public Boolean getIsMan() {            return isMan;     }      @JsonProperty( "isMan")      public void setIsMan(Boolean isMan) {            this. isMan = isMan;     }      public Map getAdditionalProperties() {            return additionalProperties;     }      public void setAdditionalProperties(String name, Object obj) {            this. additionalProperties.put(name, obj);     }           @Override      public String toString() {            return "ExamplePOJO{\n" +                      "name :'" + name + "',\n" +                      "age : " + age + ",\n" +                      "isMan :" + isMan + ",\n" +                      "additionalProperties : " + additionalProperties +                      "\n}";     }     }


解析json檔案的類:
package jackson.test;import java.io.File;import java.io.IOException;import com.fasterxml.jackson.core.JsonParseException;import com.fasterxml.jackson.databind.JsonMappingException;import com.fasterxml.jackson.databind.ObjectMapper;public class Driver {     public static void main(String[] args) {          ObjectMapper mapper = new ObjectMapper();          try {               ExamplePOJO bean = mapper.readValue(new File("test.json"),                                                                  ExamplePOJO.class);               System.out.println("name : " + bean.getName());               System.out.println("age : " + bean.getAge() );               System.out.println("isMan : " + bean.getIsMan() );               System.out.println("===================");               System.out.println(bean.toString());          } catch (JsonParseException e) {               e.printStackTrace();          }catch (JsonMappingException e){               e.printStackTrace();          }catch (IOException e){               e.printStackTrace();          }                  }}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.