拼装结果
结果
分析
仔细看图,整个json分为三层:
前两层由u、n、i三个元素组成,其中u、n为String类型,i为集合类型
而最里面的一层(叶子节点),仅仅是由String字符串组成的
所以我们要对这两形式区分对待
区分叶子节点
如图,首先判断是否为叶子节点,如果是叶子节点,则只有一个String属性,所以我们直接拼装出一个相关要求的字符串,添加到resutList中即可。
区分最外层节点
看图我们了解到,两层之间的区别有两点:
n:
最外层n为使用id和name拼接出来的<a>标签
中间层n仅仅使用id拼接出来的url地址
i:
最外层i为对应中间层的集合组成
中间层i中仅仅存储了String的集合
因为我们在封装的时候,i属性仅仅定义为list集合,没有指定其集合,所以可以忽略i属性的不同,这样我们就仅仅需要区分n属性就可以了。
如图,仅仅需要在封装name属性时,区别对待即可。
流程
最后我们再走一遍流程看看
好吧,我已经尽力了,虽然有点乱,但是自己试着画一下流程图,就能大概了解了。