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 ...
随机推荐
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring JDBCTemplate简介
Spring 框架针对数据库开发中的应用提供了 JDBCTemplate 类,该类是 Spring 对 JDBC 支持的核心,它提供了所有对数据库操作功能的支持. Spring 框架提供的JDBC支持 ...
- NumPy 数组创建
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- T_SQL 获取系统当前时间与明天时间的两种格式
--获取系统明天的时间 select CONVERT(nvarchar(20),dateadd(d,1,getdate()),120) 2017-01-21 15:04:10 sele ...
- 【剑指Offer】面试题10- II. 青蛙跳台阶问题
题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返 ...
- npm - 换淘宝源
npm - 换淘宝源Node 的模块管理器 npm 会一起安装好.由于 Node 的官方模块仓库网速太慢,模块仓库需要切换到阿里的源. $ npm config set registry https: ...
- CGridCtrl添加右键菜单
头文件下添加: afx_msg void OnMergeCell(); afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/); 添加 ...
- pytorch文档学习笔记(2)
三.CUDA semantics 二.Broadcasting semantics 广播机制 广播机制要第一项对齐,第一项对齐后(相等)才能广播,或者某个第一项为1. 但如果两个size个数相等,则 ...
- Maven工程配置依赖
1.下载 安装 官网下载maven :http://maven.apache.org/download.cgi ,下载时候注意版本,IDEA旧版本如我用的2017在安装Maven时可能会报错,此时别下 ...
- 吴裕雄--天生自然TensorFlow2教程:合并与分割
import tensorflow as tf # 6个班级的学生分数情况 a = tf.ones([4, 35, 8]) b = tf.ones([2, 35, 8]) c = tf.concat( ...
- PAT 2019 春
算是第二次做这套题吧,感觉从上次考试到现在自己有了挺大提高,提前30min做完了. 7-1 Sexy Primes 读懂题意就行. #include <cstdio> #include & ...