自定义Json解析工具

此博客为博主原创文章,转载请标明出处,维权必究:http://77blogs.com/?p=301

fastjson是很好用的json解析工具,只可惜项目中要求apk体积尽量小,所以并不打算引入fastJson,只好自己写一个,遗憾的是写出的这个并没法解析所有的json数据,不过还是很值得学习的,且听我一一道来。

主要实现两个功能:

1、将jsonArray解析为List

2、将json数据转化为class

当然,class里面的成员变量的名称需要与json里面的key一样。

 

思路:

1、通过反射获取class类里面的成员变量名称以及类型

2、通过成员变量的名称与类型去json数据中获取该key对应的value

2、将value通过反射赋值给class对象。

 

具体且看:

1、定义一个实体类保存class里面的反射获取到的每个成员变量对应字段,名称,类型

 

2、将json数据转换为实体类

 

2.1 取出实体类中的属性,根据名称与类型去jsonObject中取值

 

2.2 给实体类赋值

 

2.3 JsonArrayToList方法

 

3、将jsonArray转为list,注意参数json是jsonArray数据,原理类似,就不再多讲