更新日期:20150902
package com.fdmis.util;
import java.io.StringReader;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.google.gson.stream.JsonReader;
public class JsonUtil {
/**
* 将JavaBean转化为jsonStr
* @param obj
* @return
*/
public String toStrings(Object obj) {
Gson gson = new GsonBuilder()
.disableHtmlEscaping()
.registerTypeAdapter(java.util.Date.class,new UtilDateSerializer())
.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
return gson.toJson(obj);
}
/**
* 将jsonStr转化为JavaBean
* @param <T>
* @param json
* @param type
* @return
*/
public <T> T toObj(String json, Type type) {
//T t = new com.google.gson.reflect.TypeToken<T>() {}.getType();
Gson gson = new GsonBuilder()
.disableHtmlEscaping()
.registerTypeAdapter(java.util.Date.class,new UtilDateDeserializer())
.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
return gson.fromJson(json, type);
}
/**
* 将jsonStr转化成Map<String, String>
* @param json
* @return
*/
public Map<String, String> toMap(String json) {
JsonReader reader = new JsonReader(new StringReader(json));
Map<String, String> map = new HashMap<String, String>();
try {
reader.beginObject();
while (reader.hasNext()) {
map.put(reader.nextName(), reader.nextString());
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
/**
* 将jsonStr转化成Map<String, String>
* @param result
* @return
*/
public Map<String, String> getMapData(String result) {
Map<String, String> map = new HashMap<String, String>();
Type type = new com.google.gson.reflect.TypeToken<Map<String, String>>() {}.getType();
map = toObj(result, type);
return map;
}
/**
* 将jsonStr转化成List<Map<String, String>>
* @param result
* @return
*/
public List<Map<String, String>> getMapListData(String result) {
List<Map<String, String>> ml = new ArrayList<Map<String, String>>();
Type type = new com.google.gson.reflect.TypeToken<List<Map<String, String>>>() {}.getType();
ml = toObj(result, type);
return ml;
}
/**
* 序列化日期类型的实现类
* @author Administrator
*
*/
class UtilDateSerializer implements JsonSerializer<java.util.Date> {
public JsonElement serialize(java.util.Date src, Type typeOfSrc,
JsonSerializationContext context) {
return new JsonPrimitive(src.getTime());
}
}
/**
* 反序列化日期类型的实现类
* @author Administrator
*/
class UtilDateDeserializer implements JsonDeserializer<java.util.Date> {
public java.util.Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return new java.util.Date(json.getAsJsonPrimitive().getAsLong());
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
Google json工具类,将java对象装换为json,支持泛型和任意类型
基于googleGson的Json工具类,支持List,Object与Json互转,简单易用,Java与Android通用
GsonTools Gson工具类java Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
Google gson 解析工具类封装
用于解析json字符串的gson工具类,用于解析json字符串的gson工具类免费下载了,非常的好用
解析gson,用gson开发的必备工具,欢迎下载
用于转换Java对象为 Json 字符串和把 Json 字符串转换为对象的工具, 它是 Google 开发的,性能比较强大。
主要介绍了Java实现操作JSON的便捷工具类,基于重写Google的Gson实现,涉及java针对json数据的各种常见转换操作实现技巧,需要的朋友可以参考下
最新GSON源文件、API文档和项目用Jar文件。...一个Jar包也要5积分,有一个建议,寻找工具类代码时加上一个github要好很多,不但免费还最新。如问度娘: gson github要好于gson 下载~csdn 没有0积分的了,只好选1了。
说明:本篇讲的是Jackson的详细用法,Jackson工具类在文章最后,直接复制粘贴即可使用。 Jackson是公司中必用的组件之一,常用的还用阿里的Fastjson,但是由于一些原因bug与漏洞是在是太多,在注重安全的公司直接被...
支持字符串模糊查询,同时提供了JSON和Object对象之前相互转化的工具类,目前不支持集合类型转换,可以支持简单基本类型,Date类型。必须要求数据库和类的属性严格对应一致。当然你也可以采用google提供的GSon框架,...
与Google gson一起使用的实用程序类的集合。 这些实用程序是根据MIT许可获得许可的。 使用gson-utilities 要使用此库,只需将其添加到您的Maven依赖项中: < groupId>com.github.enerccio</ groupId> ...
对于JSON数据格式的处理,自开发Java以来,已用过多种JSON的开源工具,用得最好,也用得最High的恐怕要属Google的Gson了。 特别为它写了一个工具类,放入常备工具中,方便使用。下面是为GSON 1.5版本重写的工具类。...
json工具类,基于com.google.code.gson封装的json转换工具类
云存储工具类——七牛云 第一步 导入相关依赖: com.qiniu qiniu-java-sdk [7.2.0, 7.2.99] com.google.code.gson gson 2.8.2 第二步 写入需要的配置信息: dns:你的云存储空间域名(生成之后会有一个临时...
使用MyEclipse集成环境作为系统开发工具,后台使用SpringMVC框架实现前台的请求处理,使用Hibernate连接数据库进行数据操作,服务器返回的数据通过Google的Gson工具类转换为JSON格式再响应回浏览器方便前台做处理与...
它已经实现了常见的 Volley 类: VolleyManager :封装 RequestQueue 和其他排球功能的单例类GsonRequest :用于 json 请求的 Volley 适配器,将由 Gson 解析为 Java 对象。 LruBitmapCache :内存中 lru 缓存的...
定义的应用程序包添加了 Java 类来处理来自 API 的数据应用程序界面设计将 UI 附加到他们的控制器添加了不同的工具类,例如 NetworkUtils、LogUtils、ParseUtils NetworkUtils 可以进一步优化以处理其他请求解析...
java办公系统连接企业微信中的自建应用接口,实现自动给员工发送消息(适用于文本类型),可以用于发送任务通知。... <groupId>com.google.code.gson</groupId> <artifactId>gson <version>2.8.6 </dependency>
JavatarDoclet 用于 Javatar 包生成的 Java doclet依赖关系JDK(工具.jar) 谷歌gson