zoukankan      html  css  js  c++  java
  • jacksonall的使用,解析json

    转自:http://www.cnblogs.com/lee0oo0/archive/2012/08/23/2652751.html ,

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。可以参考:

    Jackson 框架,轻易转换JSON

    首先需要下载包:jackson-databind-2.0.5.jar jackson-annotations-2.0.5.jar jackson-core-2.0.5.jar,网址在:http://wiki.fasterxml.com/JacksonDownload 

    custom.json:

    {
        "country":"USA",   
        "countryInfo":{"golden":40,"silver":23,"copper":33,"tank":1},  
    "countryDetail":[  
        {"id":"no","header":"号码","fieldIndex":"no","sortOrder":null,"printable":true},  
        {"id":"name","header":"姓名","fieldIndex":"name","sortOrder":null,"printable":true},  
        {"id":"total","header":"总成绩","fieldIndex":"total","sortOrder":null,"printable":true},  
        {"id":"detail","header":"详细信息","fieldIndex":"detail","sortOrder":null,"printable":true}  
       ], 
    "orgood":true}  
    

    Java的Bean及解析: 

      1 public class Bean {
      2 
      3     private String country;
      4     private boolean orgood;
      5     private Country countryInfo;
      6     private CountryDetail[] countryDetail;
      7 
      8     public String getCountry() {
      9         return country;
     10     }
     11 
     12     public void setCountry(String country) {
     13         this.country = country;
     14     }
     15 
     16     public boolean isOrgood() {
     17         return orgood;
     18     }
     19 
     20     public void setOrgood(boolean orgood) {
     21         this.orgood = orgood;
     22     }
     23 
     24     public Country getCountryInfo() {
     25         return countryInfo;
     26     }
     27 
     28     public void setCountryInfo(Country countryInfo) {
     29         this.countryInfo = countryInfo;
     30     }
     31 
     32     public CountryDetail[] getCountryDetail() {
     33         return countryDetail;
     34     }
     35 
     36     public void setCountryDetail(CountryDetail[] countryDetail) {
     37         this.countryDetail = countryDetail;
     38     }
     39 
     40     public static class Country {
     41         public String getGolden() {
     42             return golden;
     43         }
     44 
     45         public void setGolden(String golden) {
     46             this.golden = golden;
     47         }
     48 
     49         public String getSilver() {
     50             return silver;
     51         }
     52 
     53         public void setSilver(String silver) {
     54             this.silver = silver;
     55         }
     56 
     57         public String getCopper() {
     58             return copper;
     59         }
     60 
     61         public void setCopper(String copper) {
     62             this.copper = copper;
     63         }
     64 
     65         public String getTank() {
     66             return tank;
     67         }
     68 
     69         public void setTank(String tank) {
     70             this.tank = tank;
     71         }
     72 
     73         private String golden;
     74         private String silver;
     75         private String copper;
     76         private String tank;
     77 
     78     }
     79 
     80     public static class CountryDetail {
     81         public String getId() {
     82             return id;
     83         }
     84 
     85         public void setId(String id) {
     86             this.id = id;
     87         }
     88 
     89         public String getHeader() {
     90             return header;
     91         }
     92 
     93         public void setHeader(String header) {
     94             this.header = header;
     95         }
     96 
     97         public String getFieldIndex() {
     98             return fieldIndex;
     99         }
    100 
    101         public void setFieldIndex(String fieldIndex) {
    102             this.fieldIndex = fieldIndex;
    103         }
    104 
    105         public String getSortOrder() {
    106             return sortOrder;
    107         }
    108 
    109         public void setSortOrder(String sortOrder) {
    110             this.sortOrder = sortOrder;
    111         }
    112 
    113         public boolean isPrintable() {
    114             return printable;
    115         }
    116 
    117         public void setPrintable(boolean printable) {
    118             this.printable = printable;
    119         }
    120 
    121         private String id;
    122         private String header;
    123         private String fieldIndex;
    124         private String sortOrder;
    125         private boolean printable;
    126 
    127     }
    128 
    129     public static void main(String args[]) {
    130         ObjectMapper mapper = new ObjectMapper();
    131         try {
    132             Bean bean = mapper.readValue(new File("custom.json"), Bean.class); // 读取
    133                                                                                 // System.out.println("Country:"+bean.getCountry());
    134             System.out.println("CountryInfo:" + bean.getCountryInfo().getGolden());
    135             System.out.println("CountryDetail:" + bean.getCountryDetail()[1].getHeader());
    136             System.out.println("orgood:" + bean.isOrgood());
    137         } catch (JsonParseException e) {
    138             // TODO Auto-generated catch block
    139             e.printStackTrace();
    140         } catch (JsonMappingException e) {
    141             // TODO Auto-generated catch block
    142             e.printStackTrace();
    143         } catch (IOException e) {
    144             // TODO Auto-generated catch block
    145             e.printStackTrace();
    146         }
    147     }
    148 }
  • 相关阅读:
    最小路径和
    S2 深入.NET和C#编程 机试测试错题积累
    S2 深入.NET和C#编程 笔试测试错题积累
    影院项目的内容信息
    抽象类和抽象的方法注意事项
    六种设计原则
    体检套餐的笔记
    C#图解 类和继承
    深入类的方法
    S2 深入.NET和C#编程 三:使用集合组织相关数据
  • 原文地址:https://www.cnblogs.com/Sunnor/p/5173065.html
Copyright © 2011-2022 走看看