Gson(Google)基礎

1、所需jar包:java

  gson-x.x.jar(本例使用的是gson-2.7.jar)。json

 

2、解析轉化:spa

  一、json字符串  < ------ >  jsoncode

        String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"廣州\",\"weight\" : \"55.5\",\"handsome\" : true}";
        Gson gson=new Gson();
        
        //json字符串  ------>  json
        JsonObject jsonObject=new JsonParser().parse(str).getAsJsonObject();
        
        //json  ------>  json字符串
        String json=jsonObject.toString();

  

  二、java實體類  < ------ >  jsonblog

public class User {
    private String name;
    private int age;
    private String address;
    private double weight;
    private boolean handsome;
    //此處省略構造方法和get/set方法
        User user=new User("peter", 20, "廣州", 55.5, true);
        
        /*
         * java實體類   ------>  json
         */
        //java實體類   ------> json字符串
        String jsonStr=new Gson().toJson(user);
        //json字符串  ------>  json
        JsonObject jsonObject=new JsonParser().parse(jsonStr).getAsJsonObject();
        
        //json  ------>  java實體類
        User user2=new Gson().fromJson(jsonObject, User.class);

 

  三、List  < ------ >  jsonrem

        List<String> list=new ArrayList<String>();
        list.add("QQQQQQ");
        list.add("WWWWWW");
        list.add("EEEEEE");
        list.add("RRRRRR");
        
        Gson gson=new Gson();
        //List------>json字符串------>jsonAray
        String arrStr=gson.toJson(list);
        JsonArray jsonArray=new JsonParser().parse(arrStr).getAsJsonArray();
        
        //jsonAray------>List
        List<String> list2=gson.fromJson(jsonArray, List.class);

 

  四、Map  < ------ >  json字符串

 

        Map<String, String> map=new HashMap<String, String>();
        map.put("name", "peter");
        map.put("sex", "Man");
        map.put("age", "20");
        
        Gson gson=new Gson();
        //Map------>json字符串------>json
        String gsonStr=gson.toJson(map);
        JsonObject jsonObject=new JsonParser().parse(gsonStr).getAsJsonObject();
        
        //json------->Map
        Map<String, String> map2=gson.fromJson(jsonObject, Map.class);

 

 

  五、Set  < ------ >  jsonget

 

        Set<String> set=new HashSet<String>();
        set.add("QQQQQQ");
        set.add("wwwwww");
        set.add("eeeeee");
        
        Gson gson=new Gson();
        
        //Set------>json字符串------>json
        String gsonStr=gson.toJson(set);
        JsonArray jsonArray=new JsonParser().parse(gsonStr).getAsJsonArray();
        
        //json----->Set
        Set<String> set2=gson.fromJson(jsonArray, Set.class);

 

  心得:Gson(Google)是將json字符串做爲「橋樑」進行轉化的。class

 

3、CRUD:List

  一、查詢數據:

        //"peter"
        String name1=jsonObject.get("name").toString();
        //peter
        String name2=jsonObject.get("name").getAsString();
     
        int age=jsonObject.get("age").getAsInt();
        for (int i = 0; i < jsonArray.size(); i++) {
            System.out.println(jsonArray.get(i));
        }

 

  二、增長數據

        jsonObject.addProperty("height", 170);
        jsonArray.add("RRRRRR");

 

  三、刪除數據:

        jsonObject.remove("height");
        //index從0開始
        jsonArray.remove(index);

 

  四、修改數據:

 

        //重置數據便可
        jsonObject.addProperty("height", 180);
        for (int i = 0; i < jsonArray.size(); i++) {
            if("EEEEEE".equals(jsonArray.get(i).getAsString())){
                jsonArray.remove(i);
                jsonArray.add("eeeeee");
            }
        }
相關文章
相關標籤/搜索