首先还是类图先上
这个Json工具类和上一文中的XmlPull解析工具类似,通过一些设计模式把繁琐的重复的代码都封装起来,最后只需要简单的几句代码就可以实现数据解析。主要分三部分,分别是Json语句操作模块JsonParseTool.class,Json数据解析后的输出模块JsonDataHelper的实现类及其子类,最后是把这些复杂操作封装到一起,让我们调用几句代码就能实现Json解析操作的工具类JsonHandleTool.class,类似于中介。
这里先说一下输出模块,JsonDataHelperFather实现了接口JsonDataHelper,JsonDataHelperFather作为父类,通过模板模式定义一些参数和实现一些公共方法,接口的其他json数据输出方法其子类实现,如下面用于解析Book相关json数据的类:JsonDataHelperForBooks,在handleTags方法中,我们可以看到,它知道自己输出数据的时候的具体操作,遇到对应的标签就执行对应的set操作。最后得到一个装载了数据的book对象。
public class JsonDataHelperForBooks extends JsonDataHelperFather{
Books book;
ArrayList<Books> books ;
public JsonDataHe