Java--Json解析
普通Json
{"code":"S0000", "describe":"数据正常返回", "result":"OK"}
package gsondemo; import java.io.Serializable;
import java.util.List; @SuppressWarnings("serial")
public class Common implements Serializable { private String code;
private String describe;
private String result; public String getCode() {
return code;
} public void setCode(String code) {
this.code = code;
} public String getDescribe() {
return describe;
} public void setDescribe(String describe) {
this.describe = describe;
} public String getResult() {
return result;
} public void setResult(String result) {
this.result = result;
} @Override
public String toString() {
return "Common [code=" + code + ", describe=" + describe + ", result=" + result + "]";
} }
package gsondemo;
import com.google.gson.Gson;
public class CommonAna {
public static void main(String[] args) {
String json = "{\"code\":\"S0000\", \"describe\":\"数据正常返回\", \"result\":\"OK\"}";
Gson gson = new Gson();
Common common = gson.fromJson(json, Common.class);
System.out.println(common);
}
}
嵌套json对象
{"code":"S0000",
"describe":"数据正常返回",
"result":{"accountBlank":"xxxxxx",
"bankAccount":"xxxxxx",
"code":"xxx",
"id":"xxxxxxx",
"kpAddr":"xxxxxx",
"kpCode":"xxxxx",
"kpName":"xxxxx",
"kpTel":"xxx"}}
package gsondemo;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Sub implements Serializable {
private String accountBlank;
private String bankAccount;
private String code;
private String id;
private String kpAddr;
private String kpCode;
private String kpName;
private String kpTel;
public String getAccountBlank() {
return accountBlank;
}
public void setAccountBlank(String accountBlank) {
this.accountBlank = accountBlank;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getKpAddr() {
return kpAddr;
}
public void setKpAddr(String kpAddr) {
this.kpAddr = kpAddr;
}
public String getKpCode() {
return kpCode;
}
public void setKpCode(String kpCode) {
this.kpCode = kpCode;
}
public String getKpName() {
return kpName;
}
public void setKpName(String kpName) {
this.kpName = kpName;
}
public String getKpTel() {
return kpTel;
}
public void setKpTel(String kpTel) {
this.kpTel = kpTel;
}
@Override
public String toString() {
return "NuonuoBean_Result [accountBlank=" + accountBlank + ", bankAccount=" + bankAccount + ", code=" + code
+ ", id=" + id + ", kpAddr=" + kpAddr + ", kpCode=" + kpCode + ", kpName=" + kpName + ", kpTel=" + kpTel
+ "]";
}
}
package gsondemo; import java.io.Serializable;
import java.util.List; @SuppressWarnings("serial")
public class CommonWithObject implements Serializable { private String code;
private String describe;
private Sub result; public String getCode() {
return code;
} public void setCode(String code) {
this.code = code;
} public String getDescribe() {
return describe;
} public void setDescribe(String describe) {
this.describe = describe;
} public Sub getResult() {
return result;
} public void setResult(Sub result) {
this.result = result;
} @Override
public String toString() {
return "CommonWithObject [code=" + code + ", describe=" + describe + ", result=" + result + "]";
} }
package gsondemo;
import com.google.gson.Gson;
public class WithObjectAna {
public static void main(String[] args) {
String json = "{\"code\":\"S0000\","
+" \"describe\":\"数据正常返回\","
+" \"result\":{\"accountBlank\":\"xxxxxx\","
+" \"bankAccount\":\"xxxxxx\","
+" \"code\":\"xxx\","
+" \"id\":\"xxxxxxx\","
+" \"kpAddr\":\"xxxxxx\","
+" \"kpCode\":\"xxxxx\","
+" \"kpName\":\"xxxxx\","
+" \"kpTel\":\"xxx\"}}";
Gson gson = new Gson();
CommonWithObject commonWithObject = gson.fromJson(json, CommonWithObject.class);
System.out.println(commonWithObject);
}
}
嵌套json数组
{"code":"S0000",
"describe":"数据正常返回",
"result":[{"accountBlank":"xxxxxx",
"bankAccount":"xxxxxx",
"code":"xxx",
"id":"xxxxxxx",
"kpAddr":"xxxxxx",
"kpCode":"xxxxx",
"kpName":"xxxxx",
"kpTel":"xxx"}]}
package gsondemo; import java.io.Serializable;
import java.util.List; @SuppressWarnings("serial")
public class CommonWithArray implements Serializable { private String code;
private String describe;
private List<Sub> result; public String getCode() {
return code;
} public void setCode(String code) {
this.code = code;
} public String getDescribe() {
return describe;
} public void setDescribe(String describe) {
this.describe = describe;
} public List<Sub> getResult() {
return result;
} public void setResult(List<Sub> result) {
this.result = result;
} @Override
public String toString() {
return "CommonWithObject [code=" + code + ", describe=" + describe + ", result=" + result + "]";
} }
package gsondemo;
import com.google.gson.Gson;
public class WithArrayAna {
public static void main(String[] args) {
String json = "{\"code\":\"S0000\","
+" \"describe\":\"数据正常返回\","
+" \"result\":[{\"accountBlank\":\"xxxxxx\","
+" \"bankAccount\":\"xxxxxx\","
+" \"code\":\"xxx\","
+" \"id\":\"xxxxxxx\","
+" \"kpAddr\":\"xxxxxx\","
+" \"kpCode\":\"xxxxx\","
+" \"kpName\":\"xxxxx\","
+" \"kpTel\":\"xxx\"}]}";
Gson gson = new Gson();
CommonWithArray commonWithArray = gson.fromJson(json, CommonWithArray.class);
System.out.println(commonWithArray);
}
}
主要区别就是bean类的区别,根据解析的情况组合所需要的bean
Java--Json解析的更多相关文章
- Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- JAVA JSON解析:类XPATH解析JSON
目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息, ...
- java json解析(转)
转自:https://www.cnblogs.com/sunnywindycloudy/p/8343013.html 给服务端发送请求后,服务端会返回一连串的数据,这些数据在大部分情况下都是XML格式 ...
- Java进阶学习:JSON解析利器JackSon
Java:JSON解析利器JackSon JackSon基础 1.Maven项目引入 <!-- https://mvnrepository.com/artifact/org.codehaus.j ...
- Json解析工具Jackson(简单应用)
原文http://blog.csdn.net/nomousewch/article/details/8955796 概述 Jackson库(http://jackson.codehaus.org),是 ...
- Java的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...
- Java下利用Jackson进行JSON解析和序列化
Java下利用Jackson进行JSON解析和序列化 Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行 ...
- java json 的生成和解析 --json-lib
类(java json的解析和生成): import java.util.HashMap; import java.util.Map; import net.sf.json.JSONArray; im ...
- 你必须掌握的Java基础:JSON解析工具-json-lib
一.简介 json-lib是一个Java类库,提供将Java对象,包括beans,maps,collections,java arrays和xml等转换成JSON,或者反向转换的功能. 二.准备 在 ...
- java中转换json方式(JSONArray,JSONObject),json解析
package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...
随机推荐
- 吴裕雄--天生自然C++语言学习笔记:C++ 数组
C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 number0. ...
- C语言数组的所有元素初始化成相同的值
这个问题一直困扰了我很久,我向来都用for来控制置-1:因为我不会用memset(つ﹏⊂)我是个蒟蒻.今天终于学会了一点皮毛,赶紧记录一下 方法一: 简单粗暴,快捷有效.for循环一点点的置1,这个方 ...
- 电动车智能充电桩温度报警方案:SI24R2F
由于现在电动自行车便捷不少民众的出行都选择这种交通工具出行,随着越来越多人都使用电动自行车,智能电动车充电桩的需求也在慢慢的变多,电动车智能充电桩的安全性也慢慢成为市场的焦点,对此SI24R ...
- 进度5_家庭记账本App_数据库的添加和查看
今天继续在昨天的基础上完成了家庭记账单的在数据库中的添加和查看功能 在之前的基础上舍弃了Fragment,重新在百度上找到了学习资料,并且自我完成了实践 首先在之前的基础上创建CostListAdap ...
- 归并排序(包含逆序数对的个数51Nod1019)
归并排序是效率很好的排序方式,和快排效率一样高,但在稳定性上优于快排,下面我们来介绍归并排序. 归并排序运用递归将序列不断二分(其原理就是分治),就像一棵树不断向下分支,最后分到只剩一个元素,这样这个 ...
- 解决fixed布局里内容不滚动问题
//注意给父级加上 (1)横向滚动 left:0; right:0; 然后想要横向滚动的话 overflow-x:scroll; overflow-y:hidden; (2)竖直方向滚动top:0;b ...
- zookeeper基础教程
一.关于zookeeper Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用 ...
- Mac 用终端(命令行)打开vscode编辑器
1.打开控制面板(⇧⌘P) 2.输入 shell command 在提示里看到 Shell Command: Install ‘code’ command in PATH, 就可以了. 3.使用: c ...
- Tensorflow——用openpose进行人体骨骼检测
https://blog.csdn.net/eereere/article/details/80176007 参考资料code:https://github.com/ildoonet/tf-pose- ...
- python里的property修饰器
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...