Google中Gson的使用解析json數據-------學習篇


之前寫過一篇Gson解析json數據的基本應用,這里不多說,直接上例子.

有興趣的可以先閱讀下之前那篇,這里附上鏈接: http://www.cnblogs.com/Ant-soldier/p/6322456.html

// json跟set集合之間的轉換
        String str = "[{'name':'zhangsan','age':20},{'name':'lisi','age':33}]";
        Gson gson = new Gson();
        Set set = gson.fromJson(str, new TypeToken<Set>() {
        }.getType());
        System.out.println("json轉換成的set集合 " + set);
        // 格式化之后的數據
        Gson gson2 = new GsonBuilder().setPrettyPrinting().create();
        JsonParser jp = new JsonParser();
        JsonElement je = jp.parse(str);
        str = gson.toJson(je);
        System.out.println("格式化之后的json數據是" + str);
        boolean jsonFlag;
        try {
            String st = "{'name':'zhan','age':'23'}";
            new JsonParser().parse(st).getAsJsonObject();
            jsonFlag = true;
        } catch (Exception e) {
            jsonFlag = false;
        }
        System.out.println("判讀st是否是json數據" + jsonFlag);
        // 獲取json中的某個屬性,3步 1.獲取轉換器 2.轉換成jsonElement 3.轉換成jsonObject
        String ss = "{'name':'zhangsna','age':44}";
        parse = new JsonParser();
        JsonElement element = parse.parse(ss);
        JsonObject object = element.getAsJsonObject();
        System.out.println("輸出json數據中的某個屬性" + object.get("name").toString() + "  " + object.get("age").toString());
        // 添加屬性
        String propertyName = "sex";
        String propertyVlaue = "man";
        object.addProperty(propertyName, new Gson().toJson(propertyVlaue));
        System.out.println("輸出json中增加的新數據" + object.toString());
        // 修改json中屬性 先刪除后添加
        object.remove("sex");
        // 判斷json數據中是否存在某個屬性
        System.out.println("是否存在屬性sex  " + object.has("sex"));
        String propertyVlaue2 = "woman";
        object.addProperty(propertyName, new Gson().toJson(propertyVlaue2));
        System.out.println("輸出json中更新之后的新數據" + object.toString());

  

測試結果如下:

json轉換成的set集合 [{name=zhangsan, age=20.0}, {name=lisi, age=33.0}]
格式化之后的json數據是[{"name":"zhangsan","age":20},{"name":"lisi","age":33}]
判讀st是否是json數據true
輸出json數據中的某個屬性"zhangsna"  44
輸出json中增加的新數據{"name":"zhangsna","age":44,"sex":"\"man\""}
是否存在屬性sex  false
輸出json中更新之后的新數據{"name":"zhangsna","age":44,"sex":"\"woman\""}

尊重知識產權:

附上一篇參考鏈接:   http://www.cnblogs.com/kunpengit/p/4001680.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM