用Google提供的Gson解析JSON數據

解析Json也就是舉一反三的一個過程,廢話不說,好比咱們要解析一個下面這種的Json,咱們用的是Google的一個開源Gson:html

String json = {
"a":"100",
"b":[{"b1":"b_value1","b2":"b_value2"}{"b1":"b_value1","b2":"b_value2"}],
"c":{"c1":"c_value1","c2":"c_value2"}
"points":[[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656],
[534.654564,566.546654,4856.5454656],[534.654564,566.546654,4856.5454656]]
}

首先咱們須要定義一個序列化的Bean,這裏採用內部類的形式,看起來會比較清晰一些:java

public class JsonBean {
   public String a;
   public List<B> b;
   public C c;
   public List<List<Double>> points;
 
   public static class B {
      public String b1;
      public String b2;
   }
   public static class C {
      public String c1;
      public String c2;
   }
}
//Bean裏邊的get和set方法就省略不寫了,規範點仍是要加上的

定義JavaBean須要注意幾點:
    一、內部嵌套的類必須是static的,否則解析會出錯;
    二、類裏面的屬性名必須跟Json字段裏面的Key是如出一轍的;
    三、內部嵌套的用[]括起來的部分是一個List,List裏邊是B對象,因此定義爲 public List<B> b;
    四、內部嵌套的用{}括起來的是直接的C對象,因此定義爲 public C c;
    五、當裏邊的數據是[[***,***,***]],這個時候就用List<List<Double>> points;Double也即double,不是對象哦。json

當這些都弄好的時候,就到咱們解析的main方法裏邊,以下。
         Gson gson = new Gson(); 
         JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
    若是須要解析的Json嵌套了不少層,一樣能夠能夠定義一個嵌套不少層內部類的Bean,須要細心的對照Json字段來定義哦。code

*參考http://www.cnblogs.com/jxgxy/p/3677256.htmlhtm

相關文章
相關標籤/搜索