MySQL查询到的数据如何生成有层级管理的json数据?
表结构如下
表1 province
id | name |
---|---|
1 | 广东 |
2 | 湖北 |
表2 city
id | p_id | name |
---|---|---|
1 | 1 | 广州 |
2 | 1 | 深圳 |
如何查询到如下格式的数据呢?
[
{
id: 1,
name: 广东
city:[
{
id: 1,
p_id: 1,
name: 广州
},
{
id: 2,
p_id: 1,
name: 深圳
}
]
},
{
id:2,
name: 湖北
}
]
这个需要自己遍历一遍join left查询的数据,自己生成这种json数据吗?还是会有一些工具? 目前开发语言是node.js
我说说我在java中的做法吧,应该原理是相通的。
数据库照常是原来的映射关系,java中设计的类如下
然后利用mybatis的嵌套映射功能将查询的数据映射成一个个省类,再使用一些json工具转换。
或者你查一下node.js中有什么框架支持嵌套映射的,用框架会方便很多。