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进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- TypeToken 是google提供的一个解析Json数据的类库中一个类
Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...
- Java创建和解析Json数据方法(五)——Google Gson包的使用
(五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法: ①toJson():将java对象转化为json数据 ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- Google Gson解析Json数据应用实例
转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...
- [转]用Gson来解析Json数据
转自太阳尚远的博客:http://blog.yeqianfeng.me/2016/03/02/use_gson_to_parse_json/ 在我们实际开发中像Json和XML这两种格式的数据是最常见 ...
- 通过Gson解析Json数据
Json是一种数据格式,便于数据传输.存储.交换:Gson是一种组件库,可以把java对象数据转换成json数据格式. gson.jar的下载地址:http://search.maven.org/#s ...
随机推荐
- git log 查看 当前分支的 提交历史
git log 查看 当前分支的 提交历史 在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排 ...
- must override a superclass method
<properties> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> ...
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- PHP安装插件方式
PHP安装插件方法主要有两种: 1.先安装相关的库,zlib.curl.xml等,然后在安装 php 时的 ./configure 中设置 --with-xxx(你需要的插件),三部曲安装即可. 2. ...
- 一元线性回归分析及java实现
http://blog.csdn.net/hwwn2009/article/details/38414911 一元线性回归分析及java实现 2014-08-07 11:02 1072人阅读 评论(0 ...
- Struts2实现异步调用机制详细剖析(XML和JSON)
一.使用XML传递 1.页面展示getXML.jsp <%@ page language="java" import="java.util.*" page ...
- 25个Linux性能监控工具
一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接 ...
- java网络通信之非阻塞通信
java中提供的非阻塞类主要包含在java.nio,包括: 1.ServerSocketChannel:ServerSocket替代类,支持阻塞与非阻塞: 2.SocketChannel:Socket ...
- 全方位分析Objcetive-C Runtime
本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 简介 与Runtime交互 ...