蔡浛框架–json 数据解析
说明
JsonAnalysis是新框架封装的Json解析工具,采用双重锁单例模式设计,内部集成了Gson与FastJson两种解析方式,并使用工厂模式进行设计,默认使用Gson解析,这样设计是希望一个项目中统一使用一种解析方式,保证代码的统一性。
代码
1 | libs/fastjson-1.2.4.jar |
JsonAnalysis.java
1 | import android.support.annotation.IntRange; |
IJson.java
1 | import java.lang.reflect.Type; |
IJsonFactory.java
1 | /** |
fastjson/FastJsonFactory.java
1 | /** |
fastjson/FastJsonUtils.java
1 | import com.alibaba.fastjson.JSONArray; |
gson/GsonConvertUtils.java
1 | import com.google.gson.FieldNamingPolicy; |
gson/GsonFactory.java
1 | /** |
gson/GsonUtils.java
1 | import com.google.gson.Gson; |
使用
fastjson 数据解析
代码
1 | import android.util.Log; |
使用
gson
自定义解析规则
背景:接口返回的字段为空的时候是String类型,不为空的时候是数组类型。使用框架自己解析会报错。
解决:使用自定义解析规则
在实体类中给字段添加
1 | @SerializeName("接口定义的字段名称") |
其中RawStringJsonAdapter是自定义解析规则
1 | import com.google.gson.JsonParser; |
例子:
1 | public class ComRow implements Serializable { |