gsons
java 处理 json格式字符串,目前只使用过Google的Gson库。
pom:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.1</version>
</dependency>
简单包装一下:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class Gsons {
public static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
public static Gson gsonPretty = new GsonBuilder().setPrettyPrinting().create();
static Gson gsonDate = new GsonBuilder().setDateFormat("yyyy-MM-dd")
.create();
static Gson gsonPrettyDate = new GsonBuilder().setDateFormat("yyyy-MM-dd")
.setPrettyPrinting().create();
static JsonParser parser = new JsonParser();
public static String toJson(Object obj, boolean pretty) {
return pretty ? gsonPretty.toJson(obj) : gson.toJson(obj);
}
public static String toJson_OnlyDate(Object obj, boolean pretty) {
return pretty ? gsonPrettyDate.toJson(obj) : gsonDate.toJson(obj);
}
public static Gson getGson() {
return gson;
}
public static JsonParser getParser() {
return parser;
}
/**
* TypeToken<List<Foo>> list = new TypeToken<List<Foo>>() { };
*
* @param json
* @param typeToken
* @return
*/
public static <T> List<T> fromJson(String json, TypeToken<List<T>> typeToken) {
Type type = typeToken.getType();
List<T> ret = gson.fromJson(json, type);
return ret;
}
public static <T> T fromJson(String json, Class<T> classOfT) {
return gson.fromJson(json, classOfT);
}
public static String pretty(String json) {
if (json == null)
return null;
JsonElement jsonElement = parser.parse(json);
return gsonPretty.toJson(jsonElement);
}
}
注意一点:
public static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
在处理Date类日期时,最好指定格式,否则容易识别不出来。
当然,也可以不包装,直接使用。具体使用方式,看看源代码。
gsons的更多相关文章
- android -volley-请求数据
private List<gson.DataBean>arrGson;//请求的数据 //请求数据的方法 public void initData() { RequestQueue mQu ...
随机推荐
- HDU5128 细心、细心、细心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128 题意:给你n(n < 30)个点的坐标,然后让你求出这n个点能构成的两个最大矩形的面积,有 ...
- 福州月赛2057 DFS
题意:告诉你族谱,然后Q条查询s和t的关系,妈妈输出M,爸爸输出F: 题目地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78233# ...
- Centos搭建SVN服务器三步曲
搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功#subversion -v svnserve, version 1.6 ...
- SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...
- Java技术的特点
Java技术是一套完整的IT行业解决方案,其中包含了很多技术.最初是从解决家电设备联网通讯的方案发展起来的,其特点适用于Internet,于是在Internet广泛应用的环境下,迅速发展成为一种计算机 ...
- js窗口边缘滑入滑出效果-初级代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- java中set的交集、差集、并集的简单实现
实现思路很简单,直接上代码: package test; import java.util.HashSet; import java.util.Set; public class Test { pub ...
- VHDL:信号、端口以及和Verilog的区别
1.信号 信号是描述硬件系统的基本数据对象,它的性质类似于连接线.信号可以作为设计实 体中并行语句模块间的信息交流通道. 信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(这决定于 ...
- Yahoo Pure 中文参考手册
Pure 是来自雅虎的 CSS 框架,使用 Normalize.CSS 无需任何 JavaScript 代码.框架基于响应式设计,提供多种样式的组件,包括表格.表单.按钮.表.导航等.标识使用非常简单 ...
- LVS-DR工作原理图文详解
为了阐述方便,我根据官方原理图另外制作了一幅图,如下图所示:VS/DR的体系结构: 我将结合这幅原理图及具体的实例来讲解一下LVS-DR的原理,包括数据包.数据帧的走向和转换过程. 官方的原理说明:D ...