
如果是zTree则后台只需要传一个数组形式的JSON就可以搞定,{name: '父节点1', children: [ {name: '子节点1'}, {name: '子节点2'} ]}这种写法找父子关系不得找死。
下面这种JSON最方便
var nodes = [
{id:1, pId:0, name: "父节点1"},
{id:11, pId:1, name: "子节点1"},
{id:12, pId:1, name: "子节点2"}
]
后台拼接JSON串代码也很简单啊,[id=1 pId=-1 name=名称1]为一条数据放入数组或List中,[id=101 pId=1 name=名称2]为一条数据放入集合,依次类推就是一个数据集了,然后for循环拼装JSON即可:
StringBuilder sb = new StringBuilder()
sb.append("[")
for(...){
sb.append("{\"id\":").append(id).append(",\"pId\":").append(pId).append(",\"name\":\"").append(name).append("\"},")
}
//注意去掉最后一个逗号
......
sb.append("]")
这个问题有点没意义,因为java已经有相应的jar了,不论是阿里的fastjson,还是gson,又或者是jackson,都是已经很成熟的jar了。如果非要自己去写的话,就需要用到反射了。简单来说,就是获取对象的所有属性。复杂说的话,要判断对象的属性,判断属性类型,判断属性值是否为null,判断对象是否是有transient修饰,判断字符串里面是否有双引号等等。然后通过StringBuffer或是StringBuilder去拼接字符串,来生成json串,至于是StringBuffer还是StringBuilder就看你的需要再决定了欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)