Gson利用泛型将Http请求返回的Json字符串快速解析模板
来源:互联网 发布:阿里云 pptp 无法连接 编辑:程序博客网 时间:2024/06/05 09:29
第一种:返回类型为单个JsonObject形式:
<pre name="code" class="java">import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import com.google.gson.Gson;public class CommonJson<T> implements Serializable { /** * */ private static final long serialVersionUID = -3440061414071692254L; /** * 是否成功 */ private Boolean success; /** * 数据 */ private T data; public Boolean getSuccess() { return success; } public void setSuccess(Boolean success) { this.success = success; } public T getData() { return data; } public void setData(T data) { this.data = data; }public static CommonJson fromJson(String json, Class clazz) { Gson gson = new Gson(); Type objectType = type(CommonJson.class, clazz); return gson.fromJson(json, objectType); } public String toJson(Class<T> clazz) { Gson gson = new Gson(); Type objectType = type(CommonJson.class, clazz); return gson.toJson(this, objectType); } static ParameterizedType type(final Class raw, final Type... args) { return new ParameterizedType() { public Type getRawType() { return raw; } public Type[] getActualTypeArguments() { return args; } public Type getOwnerType() { return null; } }; }}
第二种:返回字符串为JsonArray格式:
<pre name="code" class="java">import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.List;import com.google.gson.Gson;public class CommonJson4List<T> implements Serializable { /** * */ private static final long serialVersionUID = -369558847578246550L; /** * 是否成功 */ private Boolean success; /** * 数据 */ private List<T> data; public Boolean getSuccess() { return success; } public void setSuccess(Boolean success) { this.success = success; } public List<T> getData() { return data; } public void setData(List<T> data) { this.data = data; } public static CommonJson4List fromJson(String json, Class clazz) { Gson gson = new Gson(); Type objectType = type(CommonJson4List.class, clazz); return gson.fromJson(json, objectType); } public String toJson(Class<T> clazz) { Gson gson = new Gson(); Type objectType = type(CommonJson4List.class, clazz); return gson.toJson(this, objectType); } static ParameterizedType type(final Class raw, final Type... args) { return new ParameterizedType() { public Type getRawType() { return raw; } public Type[] getActualTypeArguments() { return args; } public Type getOwnerType() { return null; } }; }}
0 0
- Gson利用泛型将Http请求返回的Json字符串快速解析模板
- 利用Gson实现简单的json字符串解析
- 解析HTTP POST方式请求的xml数据、本地XML文件数据, 并返回JSON字符串
- 利用OkHttp请求网络,利用Gson解析Json数据中遇到的问题。
- JSON解析类库之Gson(7) --- Gson与SpringMVC的整合,利用@ResponseBody返回Json数据
- 通过Json和Gson,快速生成和解析json字符串
- http请求返回并解析json数据
- http请求返回并解析json数据
- ajax请求返回json字符串解析方式
- java 解析http协议接口返回的json字符串
- http请求和json解析的截取字符串
- 用Gson解析复杂的Json字符串
- gson 的使用 解析json字符串
- Volley学习(二)简封Volley、为Volley请求头体添加Json参数、Gson和JsonObject生成Json数据、Gson解析返回的Json
- 字符串模拟利用gson解析与生成json
- Gson快速Json解析教程
- Gson快速Json解析教程
- 利用GSON解析JSON数据
- IIS 中站点浏览报错的解决方法
- Windows 64位下装Oracle 11g 64位,PLSQL(Database为空)
- java对象序列化
- Run Jekyll on Windows Part 1
- iOS_电池状态
- Gson利用泛型将Http请求返回的Json字符串快速解析模板
- HDU5410-CRB and His Birthday
- (1)uboot详解——板子刚上电时都干了些什么
- linux系统下的vi编辑器一些常用命令整理
- 游标嵌套
- Programming assignment 3: Optimization and generalization 解答
- DSP Flash API步骤
- 14.2.2.2 Consistent Nonlocking Reads 一致性非锁定读
- Funny Comments