普通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解析的更多相关文章

  1. Jackson:我是最牛掰的 Java JSON 解析器(有点虚)

    在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...

  2. JAVA JSON解析:类XPATH解析JSON

    目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息, ...

  3. java json解析(转)

    转自:https://www.cnblogs.com/sunnywindycloudy/p/8343013.html 给服务端发送请求后,服务端会返回一连串的数据,这些数据在大部分情况下都是XML格式 ...

  4. Java进阶学习:JSON解析利器JackSon

    Java:JSON解析利器JackSon JackSon基础 1.Maven项目引入 <!-- https://mvnrepository.com/artifact/org.codehaus.j ...

  5. Json解析工具Jackson(简单应用)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 概述 Jackson库(http://jackson.codehaus.org),是 ...

  6. Java的Json解析包FastJson使用

    阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser. ...

  7. Java下利用Jackson进行JSON解析和序列化

    Java下利用Jackson进行JSON解析和序列化   Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行 ...

  8. java json 的生成和解析 --json-lib

    类(java json的解析和生成): import java.util.HashMap; import java.util.Map; import net.sf.json.JSONArray; im ...

  9. 你必须掌握的Java基础:JSON解析工具-json-lib

    一.简介  json-lib是一个Java类库,提供将Java对象,包括beans,maps,collections,java arrays和xml等转换成JSON,或者反向转换的功能. 二.准备 在 ...

  10. java中转换json方式(JSONArray,JSONObject),json解析

    package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...

随机推荐

  1. 吴裕雄--天生自然C++语言学习笔记:C++ 模板

    模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码. 模板是创建泛型类或函数的蓝图或公式.库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念. 每个容器都有一个单 ...

  2. python_@classmethod

    class A(object): bar = 1 def func1(self): print ('foo') @classmethod def func2(cls): print ('func2') ...

  3. mybaits的注解方式与配置文件方式比较

    注解方式比配置文件方式简单了更多. 俩种配置 一个是制定配置文件路径,一个直接class指向dao层接口 只需加一个注解@**** 就能够实现 比写一个xml的配置文件简单更多.

  4. 每天一点点之laravel框架开发 - API通过access_token获取用户id报 Unauthenticated. 错误(passport)

    1.首先保证你的config/auth.php 中 guards 的 api 的 driver 选项改为 passport 2.注册中间件,在 app/Http/Kernel.php 文件中的 $ro ...

  5. C++ 大文件读写

    //你必须映射一个只包含一小部分文件数据的文件视图.首先映射一//个文件的开头的视图.当完成对文件的第一个视图的访问时,可以取消它的映像,然后映射//一个从文件中的一个更深的位移开始的新视图.必须重复 ...

  6. 16 ~ express ~ 添加博客分类

    一,创建表结构  /schemas/categories.js var mongoose = require('mongoose')   module.exports = new mongoose.S ...

  7. java课程之团队开发冲刺阶段2.4

    总结昨天进度: 1.照例学习了课前提醒的功能,不可否认的是,在这个功能上,需要的技术和之前的上课静音有点相似,都是通过广播然后开启service服务,然后进行每分钟的监听,查看时间是否一致,在一致的情 ...

  8. Spring学习(三)——@PropertySource,@ImportResource,@Bean注解

    @PropertySource注解是将配置文件中 的值赋值给POJO 项目结构如下 一.创建一个Person.Java文件: import org.springframework.boot.conte ...

  9. (简单模拟)P1003 铺地毯

    题解: 从最后一个输入的数据开始排查,如果说你找到了这个点上面有地毯,那么就直接输出这个值,如果没找到就按照题干的意思输出-1. #include<iostream>#include< ...

  10. POJ 1519:Digital Roots

    Digital Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25766   Accepted: 8621 De ...