之前写过一篇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数据-------学习篇的更多相关文章

  1. 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

    1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...

  2. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  3. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. TypeToken 是google提供的一个解析Json数据的类库中一个类

    Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...

  5. Java创建和解析Json数据方法(五)——Google Gson包的使用

    (五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法:         ①toJson():将java对象转化为json数据 ...

  6. Android中使用Gson解析JSON数据

      Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...

  7. Google Gson解析Json数据应用实例

    转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...

  8. [转]用Gson来解析Json数据

    转自太阳尚远的博客:http://blog.yeqianfeng.me/2016/03/02/use_gson_to_parse_json/ 在我们实际开发中像Json和XML这两种格式的数据是最常见 ...

  9. 通过Gson解析Json数据

    Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...

随机推荐

  1. PAT (Advanced Level) 1018. Public Bike Management (30)

    先找出可能在最短路上的边,图变成了一个DAG,然后在新图上DFS求答案就可以了. #include<iostream> #include<cstring> #include&l ...

  2. CentOS 6.4 x64 Percona-Server-5.6.15 源码安装

    首先下载 Percona-Server-5.6 http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source/ 然后必须先安装cm ...

  3. Eclipse perl的IDE环境插件-EPIC

    前提:1.安装好perl环境:ActivePerl(验证方法:cmd中输入 perl -v 看是否有反应~) 2.安装Eclipse 3.0以上版本 可选:安装PadWalker包,主要是全局变量跟踪 ...

  4. 14、手把手教你Extjs5(十四)模块字段和Grid列的定义[2]

    model和columns生成好了,下面要修改一下Module.js和Grid.js中的代码,使其能够协同工作. /** * 一个模块的主控界面的容器,用来安放各个模块控件以及协调他们之间的关系 */ ...

  5. IIS日志路径,修改存放位置,清除日志方法

    IIS存放日志文件的默认存储路径是c:\windows\system32\logfiles 我们依次打开“我的电脑”,C盘,Windows文件夹,system32文件夹,logfiles文件夹,发现里 ...

  6. Android手势识别总结

    一:首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouc ...

  7. jQuery简单实现图片预加载

    我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题呢?下面我来介绍一种在实际应用中经常会使用到的js预加载的方法. ...

  8. BMP085气压传感器驱动

    BMP085是新一代的小封装气压传感器,主要用于气压温度检测,在四轴飞行器上可以用作定高检测,该传感器属于IIC总线接口,依然沿用标准IIC驱动程序 使用该传感器需要注意的是我们不能直接读出转换好的二 ...

  9. 算法系列001---dfs|多叉|解空间树理解

    1.研究范围 1)多叉树,图的遍历 2)回溯法的解空间树=多叉树的遍历 2.研究方法 我们现在研究的是多叉树的遍历,突然想到为什么不能直接用二叉树的遍历方法呢?我们抱着这个问题,先找到多叉树的结构不同 ...

  10. PHP检测获取内存信息

    PHP也可以检测获取到Windows的内存信息,而且代码还挺简单,无意发现的,觉得以后能用上,在此与大家分享. 本代码将得到总内存.初始使用等内存信息: <?php echo "初始: ...