Gson的几种使用方式
一、Gson是一个Java类库,用于将Java对象转换为它们所代表的JSON数据,也可以用于将一个JSON字符串转换为对应的Java对象。这个是谷歌开发的一套针对json处理的一个类库,功能很强大。
二、jar引入
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
三、常用方法
1、Gson(比较常用的装换类型使用,功能强大)
//声明Gson对象
Gson gson = new Gson();
Map<String, Object> map = new HashMap<String, Object>();
map.put("1", 1);
map.put("2", 2);
//转成json字符串
String str = gson.toJson(map);
System.out.println(str);
//基本上可以转成任何类型的
JsonObject json = gson.fromJson(str, JsonObject.class);
System.out.println(json);
2、JsonObject
//声明json对象
JsonObject jsonObject = new JsonObject();
//添加数据
jsonObject.addProperty("1", "1");
jsonObject.addProperty("2", "2");
//如果相关数据是jsonArray.可以直接过去
JsonArray jsonArray = jsonObject.get("3").getAsJsonArray();
3、JsonArray
//声明jsonArray对象
JsonArray jsonArray = new JsonArray();
//添加数据
JsonObject jsonObject1 = new JsonObject();
jsonObject1.addProperty("1", "1");
jsonObject1.addProperty("2", "2");
JsonObject jsonObject2 = new JsonObject();
jsonObject2.addProperty("3", "3");
jsonObject2.addProperty("4", "3");
jsonArray.add(jsonObject1);
jsonArray.add(jsonObject2);
//直接拿到JsonObject
JsonObject jsonObject = jsonArray.get(0).getAsJsonObject();
四、这里简单介绍了一下gson常用的集中方式,可以自己深层次研究一下
Gson的几种使用方式的更多相关文章
- Gson的两种实例化方式:
2018-11-13 09:21:44 Gson的两种实例化方式: 1: 使用new Gson(); 普通实例化方式,不能配置定制化选项 Gson gson = new Gson(); 2: 通过 ...
- JSON的三种解析方式
一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定 ...
- Web APi之认证(Authentication)两种实现方式【二】(十三)
前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...
- CSS垂直居中的11种实现方式
今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- 通过三个DEMO学会SignalR的三种实现方式
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...
- Hive metastore三种配置方式
http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...
随机推荐
- Easy install ryu
参考:Ubuntu14.04安装Ryu控制器 环境:Ubuntu 14.04 64bit 使用pip安装ryu: // dependencies sudo apt-get install Python ...
- 用 SQL 对关系型数据库进行查询
前面几节中,我们已经掌握了如何向 SQLite 数据库中写入数据.这一节,我们将学习如何根据需求对数据库进行查询,进而从中获取数据.接下来的例子中会使用 data/datasets.sqlite(之前 ...
- SQL Server 查询优化 索引的结构与分类
一.索引的结构 关系型数据库中以二维表来表达关系模型,表中的数据以页的形式存储在磁盘上,在SQL SERVER中,数据页是磁盘上8k的连续空间,那么,一个表的所有数据页在磁盘上是如何组织的呢?分两种情 ...
- windows 上 Python 通过 SCP 连接linux server
环境搭建 需要安装以下包 pycrypto (需要VC编译环境) paramiko (SSH的基础) scpclient-0.4 (paramiko 上的一个wrapper) 在安装pycrypto ...
- Leetcode 39
//经典回溯法class Solution { public: vector<vector<int>> combinationSum(vector<int>& ...
- Intellij Idea 将java项目打包成jar
1.菜单:File->project stucture 2.在弹窗最左侧选中Artifacts->"+",选jar,选择from modules with depend ...
- 改造 Ace Admin 模板的 ace_tree 组件的 folderSelect 样式
*注:我用的Ace Admin版本为1.3.4 Ace Admin 是一个轻量,功能丰富,HTML5.响应式.支持手机及平板电脑上浏览的优秀管理后台模板. 关于tree的使用,html文件夹下tree ...
- Toncat-OpenSSL双向认证配置(iOS)
OpenSSL生成证书 要生成证书的目录下建立几个文件和文件夹,有./demoCA/ ./demoCA/newcerts/ ./demoCA/private/ ./demoCA/index.txt ( ...
- windows下jenkins安装过程中的那些坑
在jenkins官网https://jenkins.io/download/下载2.89.4版本的war包,使用jar -jar jenkins.war命令安装,报端口被占的错误,使用jar -jar ...
- Beta阶段第1周/共2周 Scrum立会报告+燃尽图 01
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2383] 版本控制:https://git.coding.net/liuyy08 ...