FastJson使用泛型统一处理数据

综合编程 简书

FastJson
是一个Java语言编写的高性能功能完善的 JSON
库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的 JSON
库。 FastJson
接口简单易用,已经被广泛使用在缓存序列化、协议交互、 Web
输出、 Android
客户端等多种应用场景。

Gradle via JCenter

compile 'com.alibaba:fastjson:1.1.59.android'

github传送门

一般情况下服务器接口给我们返回的数据类型一般是这样的;其中 code
(状态码)和 msg
(信息)一般都是固定不变的格式;只有 data
是变动的数据,可能对应的是 JsonObject
或者是 JsonArray

{
    "code":200,
    "msg":"获取成功",
    "data":{}
}

1. 定义实体

public class BaseResponse implements Serializable
{

    public static final int CODE_SUCCESS = 200;
    public static final int CODE_ERROR = 403;

    public int code;
    public String msg;
    public T data;
}

2. 使用FastJson解析

下面简单的封装了一下

public class FastJsonUtils
{
    /**
     * data == JsonObject
     * @param json
     * @return
     */
    public BaseResponse onResponseWithObject(String json)
    {
        BaseResponse res = JSON.parseObject(json,new TypeReference<BaseResponse>(){});
        return res;
    }

    /**
     * data == JsonArray
     * @param json
     * @return
     */
    public BaseResponse<List> onResponseWithArray(String json)
    {
        BaseResponse<List> res = JSON.parseObject(json,new TypeReference<BaseResponse<List>>(){});
        return res;
    }
}
简书稿源:简书 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合编程 » FastJson使用泛型统一处理数据

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录