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

以前寫過一篇Gson解析json數據的基本應用,這裏很少說,直接上例子.html

有興趣的能夠先閱讀下以前那篇,這裏附上連接: http://www.cnblogs.com/Ant-soldier/p/6322456.htmlgit

// 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

  

測試結果以下:測試

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\""}

ui

尊重知識產權:spa

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

相關文章
相關標籤/搜索