Json1:使用gson解析、生成json
Json解析:
1.json第三方解析包:json-lib、gson、jackson、fastjson等
2.Google-gson只兼容jdk1.5版本以上;JSON-lib分别支持1.4和1.5
3.性能:Gson > Json-lib
包:gson-2.3.jar
特征:
fromJson():Json-解析->对象(反序列化)
toJson() :对象-生成->Json(序列化)
示例:
import com.google.gson.Gson;
public class TestGson {
class Person {
private String name;
private int[] power;
private Horse hs1;
private Horse[] hs2;
public Horse getHs1() {
return hs1;
}
public void setHs1(Horse hs1) {
this.hs1 = hs1;
}
public Horse[] getHs2() {
return hs2;
}
public void setHs2(Horse[] hs2) {
this.hs2 = hs2;
}
public int[] getPower() {
return power;
}
public void setPower(int[] power) {
this.power = power;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Horse {
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
public static void main(String[] args) {
String strJson = "{'name':'吕奉先','power':[100,30],'hs1':{'type':'赤兔'},'hs2':[{'type':'乌骓'},{'type':'黄标'}]}";
Gson g = new Gson();
// Json->对象
Person p = g.fromJson(strJson, Person.class);
System.out.println(p.name + ":" + p.power[1]);
//对象->Json
p.setName("关羽");
String json = g.toJson(p);
System.out.println(json);
}
}
代码中json字符串的结构化视图:

运行结果:
吕奉先:30
{"name":"关羽","power":[100,30],"hs1":{"type":"赤兔"},"hs2":[{"type":"乌骓"},{"type":"黄标"}]}
Json1:使用gson解析、生成json的更多相关文章
- PHP获取cookie、Token、模拟登录、抓取数据、解析生成json
本文介绍使用PHP获取cookie,获取Token.以及模拟登录.然后抓取数据.最后解析生成json的的过程. 0. 设置Cookie路径 set_time_limit(0); //使用的cookie ...
- Gson解析复杂Json数据
背景 json是一种数据格式,便于数据传输.存储.交换. gson是 ...
- 使用jsoncpp解析生成json
在此站点下载jsoncpp(https://sourceforge.net/projects/jsoncpp/这个站点的版本较旧) 在电脑上安装Python,运行amalgamate.py,生成的di ...
- C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档
Swifter.Json 是由本人编写的高性能且多功能的 Json 解析库.下图是 Swifter.Json 与 .Net 平台上的其他 Json 库性能对比: 在 Swifter.Json 近期更新 ...
- 使用GSON来生成JSON数据
第二种方法: 当不需要显示某个属性时,在不需要显示出的属性前加transient关键字即可满足 使用gson来解析 使用gson解析 带日期转换 集合类解析:gson中的数组与java中集合类都是对应 ...
- Gson解析复杂JSON对象
例如以下格式JSON: 建立对应的Java对象,注意内部类要定义成静态的 public class HResult { public String total; public String recor ...
- Gson解析复杂JSON字符串的两种方式
JSON解析可以使用的库: JSONObject(源自Android官方). Gson(源自Google). Jackson(第三方开源库). FastJSON(第三方开源库). 本文例子使用Goog ...
- java android使用Gson解析泛型json数据
那就直接开始吧. 在我们获取服务器返回的json数据有时候会出现这种情况,比如: {"body":{"attrName":"feed",&q ...
- Android Gson解析复杂Json
JSON原数据 {"total":1,"rows":[{"ID":1,"Title":"台州初级中学招收初一年 ...
- Gson解析纯Json数组
[ { "type": "123", "value": 123 }, { "type": "234" ...
随机推荐
- HTTP请求属性说明
1)URL:页面地址. 2)Method :页面的提交方式,POST或GET. 3)EncType:编码类型.此参数给出一个内容类型(Content-Type),指定其做为回放脚本时“Content- ...
- 填充整个区间(fill,fill_n,generate和generate_n)
fill 将value值填充整个区间,不能为OutputIterator,因为fill会用到first和last,outputIterator无法做相等的测试 template <class F ...
- day10 内容大纲
01 去年内容回顾 01 去年内容回顾 *args **kwargs: 万能参数,动态参数 * 魔性用法: 函数的定义时,* ** 聚合. 函数的执行时,* ** 打散. 形参顺序: 位置参数,*ar ...
- 第1节 常用DOS(磁盘操作系统)命令
一.打开DOS命令窗口 1)快捷键:win + r,打开命令提示符窗口: 2)左击“开始”菜单,在运行里输入cmd,按回车打开命令提示符窗口: 二.常见命令 1)文件夹操作: d:+ 回车:盘符切换 ...
- 浅析 阿里 OceanBase 双十一 淘宝天猫 天量交易 承载能力 原理
我们先看看 这 2 篇文章: <秘诀!支付宝支撑双十一4200万次/秒的数据库请求峰值的技术实现> https://mp.weixin.qq.com/s?__biz=MzI3MzEzMD ...
- 事务 — Redis 设计与实现
非事务状态下的命令以单个命令为单位执行,前一个命令和后一个命令的客户端不一定是同一个: 事务状态则是以一个事务为单位,执行事务队列中的所有命令:除非当前事务执行完毕,否则服务器不会中断事务,也不会执行 ...
- Linux系统如何模拟Http的get或post请求?
一.get请求: 1.使用curl命令: curl “http://www.baidu.com” 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i “http://www ...
- Spring整合Hibernate(转)
概述 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory 2.让Hibernate使用上Spring的声明式事务 整合步骤 整合前准 ...
- angular2中如何引入scss
如何在ng2的模块或者组件中引入sass文件? 很简单,两个步骤 1.安装style-loader css加载器 npm install --save-dev style-loader 2.在ts文件 ...
- Hadoop 管理工具HUE配置
机器环境 Ubuntu 14.10 64位 || OpenJDK-7 || Scala-2.10.4 机群概况 Hadoop-2.6.0 || HBase-1.0.0 || Spark-1.2.0 | ...