Google中Gson的使用解析json数据-------学习篇

Posted 幽雨_rain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Google中Gson的使用解析json数据-------学习篇的主要内容,如果未能解决你的问题,请参考以下文章

Android JSON数据解析(GSON方式)

使用GSON解析逗号分隔的json

使用google-gson类库解析json文件

求教json的有关问题,google库gson的bug有关问题

android json解析三种方式哪种效率最高

Java Gson 实现 Json 数据的生成与解析