• 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

  • 相关阅读:
    【HDOJ5971】Wrestling Match(二分图,并查集)
    【HDOJ5978】To begin or not to begin(概率)
    【HDOJ5979】Convex(三角函数)
    【HDOJ5980】Find Small A(签到)
    【HDOJ5949】Relative atomic mass(签到)
    【HDOJ5948】Thickest Burger(签到)
    【HDOJ6228】Tree(树)
    【HDOJ6227】Rabbits(贪心)
    147.命题逻辑
    146.离散数学
  • 原文地址:https://www.cnblogs.com/Ant-soldier/p/6323202.html
Copyright © 2020-2023  润新知