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");
            }
        }
相关文章
相关标签/搜索