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" ...
随机推荐
-
python学习09——字典(3)
今天写了一道python字典题目,用了上次字典(2)中的方法,代码如下: json = {', 'IP':'10.0.0.1'} def find_value(themap, word): if wo ...
-
java将白色背景图片转换成无色
package com.cxf.dao; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buffer ...
-
Bootstrap页面布局20 - BS缩略图
<div class='container-fluid'> <h2 class='page-header'>Bootstrap 缩略图</h2> <ul cl ...
-
庖丁解牛-----Live555源码彻底解密(RTP打包)
本文主要讲解live555的服务端RTP打包流程,根据MediaServer讲解RTP的打包流程,所以大家看这篇文章时,先看看下面这个链接的内容; 庖丁解牛-----Live555源码彻底解密(根据M ...
-
python中如何单独测试一个函数的作用
#!/usr/bin/python import os def get_env_varible(key): return os.getenv(key) if __name__ == '__main__ ...
-
linux ssh-keygen
用ssh client 客户端 远程登录服务器,避免每次都得输入密码: 解决方法: ssh-keygen 复制 id_rsa.pub 中的内容 到 远程连接的服务器的~/.ssh/authorize ...
-
把.zip文件转化为.tar.gz文件
工作中正好用到上传tar.gz文件,没有现成的转换工具,就写了方法转换 #encoding: utf-8import osimport tarfileimport zipfileimport osim ...
-
the difference between fopen&;open
[the difference between fopen&open] fopen是C标准API,open是linux系统调用,层次上fopen基于open,在其之上.fopen有缓存,ope ...
-
wondows下安装pytho&;pip
1.在https://www.python.org/downloads/下载相应的python安装包, 解压安装,配置环境变量. 2.下载pip安装包:https://pypi.python.org/ ...
-
【BZOJ 3443】 3443: 装备合成 (离线+线段树)
3443: 装备合成 Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 63 Solved: 31 Description [背景] lll69 ...