Gson转换json数据为对象
可以通过Gson使用两种方法,将json字符串转换为对象,以下面该段报文做测试
{
"id": 84041462,
"lastName": "小华",
"age":32,
"balance":666255.32,
"hobbyDesc": {
"subject": "数学",
"score":25,
"sport_desc":"跑步有益健康"
}
}
1. 创建实体类,通过 fromJson方法将json数据封装进对象中
如上,将上面报文按层次解析并创建两个对象
import com.google.gson.annotations.SerializedName;
public class HobbyDesc {
private String subject;
private int score;
@SerializedName("sport_desc")
private String sportDesc;
//***
public class Account {
private String id;
private String lastName;
private int age;
private double balance;
private HobbyDesc hobbyDesc;
//***
解析
String jsonStr = "{\n" +
"\t\"id\": 84041462,\n" +
"\t\"lastName\": \"小华\",\n" +
"\t\"age\":32,\n" +
"\t\"balance\":666255.32,\n" +
"\t\"hobbyDesc\": {\n" +
"\t\t\"subject\": \"数学\",\n" +
"\t\t\"score\":25,\n" +
"\t\t\"sport_desc\":\"跑步有益健康\"\n" +
"\t}\n" +
"\t\n" +
"}";
Account account = new Gson().fromJson(jsonStr,Account.class);

同时也可以看到,对象中定义为字符串类型的字段也可以接受json串的数值类型,没有转换问题。
2. 解析为jsonObject对象
直接使用Gson API解析
String jsonStr = "{\n" +
"\t\"id\": 84041462,\n" +
"\t\"lastName\": \"小华\",\n" +
"\t\"age\":32,\n" +
"\t\"balance\":666255.32,\n" +
"\t\"hobbyDesc\": {\n" +
"\t\t\"subject\": \"数学\",\n" +
"\t\t\"score\":25,\n" +
"\t\t\"sport_desc\":\"跑步有益健康\"\n" +
"\t}\n" +
"\t\n" +
"}";
JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonStr);
System.out.println("id <getAsInt> = "+jsonObject.get("id").getAsInt());//id <getAsInt> = 84041462
System.out.println("id <getAsString> = "+jsonObject.get("id").getAsString());//id <getAsString> = 84041462
System.out.println("position = "+ jsonObject.get("hobbyDesc").getAsJsonObject().get("sport_desc").getAsString());//position = 跑步有益健康
参照jsonObject结构,可以了解Gson这种封装对象的方式,如果仅仅是取某值的话,可以采用这种方式,可以节约大量时间

Gson转换json数据为对象的更多相关文章
- 使用Gson转换json数据为Java对象的一个例子
记录工作中碰到的一个内容. 原料是微信平台的一个接口json数据. { "errcode" : 0, "errmsg" : "ok", &q ...
- Gson转换Json串为对象报java.lang.NoClassDefFoundError
解决方法: 1.右键项目 ---> properties ----> java buildpath ---> order and export 2. 勾选 gson-x.x.x.ja ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Google Gson解析Json数据应用实例
转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...
- Android 利用 gson 将 json 转成 对象object 集合list
1.build.gradle 中引入gson compile 'com.google.code.gson:gson:2.8.5' 2.将后台返回的json数据转对象.List.时间格式与后台返回的时间 ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
- js声明json数据,打印json数据,遍历json数据,转换json数据为数组
1.js声明json数据: 2.打印json数据: 3.遍历json数据: 4.转换json数据为数组; //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿 ...
- Java操作JSON数据(2)--Gson操作JSON数据
Gson是Google公司发布的一个开发源码的Java库,可用于将Java对象转换为JSON字符串,也可用于将JSON字符串转换为对应的Java对象.本介绍下Gson的基本使用方法,包括序列化和反序列 ...
随机推荐
- 第三章 dubbo内核之ioc源码解析
dubbo的IOC具体实现在:T injectExtension(T instance)方法中.该方法只在三个地方被使用: createAdaptiveExtension() --injectExte ...
- SharePoint2010 对象模型 关联列表
有关列表的创建其实网上已经有很多文章了,其中练习 :利用Visual Studio 2010创建列表这篇文章个人感觉还不错,这里我强调的是对象模型来创建.在这之前我插入一点其他的东东,导入电子表格和数 ...
- Reboot server stuck at “Press ESC in 1 seconds to skip startup.nsh”
I have a Cisco C240 server, and everytime after reboot, it will got stuck at screen like below. To r ...
- PL/SQL Developer执行.sql文件的几种方法
1.复制SQL 第一种方法非常常见,也非常简单,先用文本编辑器打开.sql文件,然后把sql复制到PL/SQL Developer的SQL窗口或者命令窗口中运行就行了,本来我也是这么做的,但是我将SQ ...
- Android -- Toolbar跟随ListView滑动隐藏和显现
布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...
- jdbc操作数据库并自动获取字段类型
//获取改功能编码的关联功能 public void getLinkdb(String gnbianma){ PreparedStatement pstmt = null; ResultSet rs ...
- assetbundle 对自定义shader的打包
http://docs.unity3d.com/Manual/managingassetdependencies.html Managing asset dependencies Any give ...
- hadoop hue切换中文版
搭建了Hue之后发现只有英文的界面,非常不开心,于是百度谷歌了一大堆也没有发现可靠的办法,就自己上手了一把,亲测可行. 英文版: 中文版: hue切换使用中文版的方法如下: 1.修改配置文件 vi / ...
- [Javascript] Check both prop exists and value is valid
Sometime you need to check one prop exists on the object and value should not be ´null´ or ´undefine ...
- [Algorithm] Count occurrences of a number in a sorted array with duplicates using Binary Search
Let's say we are going to find out number of occurrences of a number in a sorted array using binary ...