请选择 进入手机版 | 继续访问电脑版
moer 活字格认证
论坛元老   /  发表于:2022-11-18 23:38  /   查看:1879  /  回复:8
1金币
下面的表格


ID        name        level        parent_node_id       
1        活字格        0        0       
2        财务部        1        1       
3        工程部        1        1       
4        人事部        1        1       
6        工程2部        2        3       
7        工程1部        2        3

       

要返回如下面格式的json, 该怎么做,才比较合适?


  1. <div>
  2. <div>{
  3.     "1": {
  4.         "name": "活字格",
  5.         "id": 1,
  6.         "level": 0,
  7.         "parent_node_id": 0
  8.     },
  9.     "2": {
  10.         "name": "财务部",
  11.         "id": 2,
  12.         "level": 1,
  13.         "parent_node_id": 1
  14.     },
  15.     "3": {
  16.         "name": "工程部",
  17.         "id": 3,
  18.         "level": 1,
  19.         "parent_node_id": 1
  20.     },
  21.     "4": {
  22.         "name": "人事部",
  23.         "id": 4,
  24.         "level": 1,
  25.         "parent_node_id": 1
  26.     },
  27.     "5": {
  28.         "name": "工程2部",
  29.         "id": 6,
  30.         "level": 2,
  31.         "parent_node_id": 3
  32.     },
  33.     "6": {
  34.         "name": "工程1部",
  35.         "id": 7,
  36.         "level": 2,
  37.         "parent_node_id": 3
  38.     }
  39. }</div>

  40. </div>
复制代码




再循环查询结构构造json


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

8 个回复

Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2022-11-21 09:38:23
沙发
大佬您好,关于您的这种需求可以使用服务端命令中的对象操作插件,具体可以在插件商城下载安装。
这个对象总共有三个命令,分别是创建对象命令,创建数组对象命令,追加对象到数组命令
具体步骤如下:
1. 因为咱们的操作是需要不断重复的使用上面的命令,所以需要先获取到一个数组,设置变量命令获取多行数据,只取ID的值,记为IDs
2. 使用创建数据对象命令创建一个空的对象数组,记为Array
3. 循环遍历数组IDs
4. 使用创建对象命令,属性列表,只增加一行值,属性名为当前循环的ID,属性值为根据ID查询到的其他字段信息
5. 使用追加对象到数组,将当前创建的对象加入到数组中
大佬可以根据上面的操作尝试一下
回复 使用道具 举报
moer活字格认证
论坛元老   /  发表于:2022-11-21 15:04:52
板凳
Grayson.Shang 发表于 2022-11-21 09:38
大佬您好,关于您的这种需求可以使用服务端命令中的对象操作插件,具体可以在插件商城下载安装。
这个对象 ...

这个方法我想过,是不是太复杂了? 在我脑海里放弃了。  而且性能不好。
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2022-11-21 15:54:26
地板
大佬您好,因为在活字格开发中,主要是依赖插件,而现在生成处理这种定制化的需求,只能依赖于这种底层操作的插件,相对应的逻辑来实现,也没有太好的方法了。其实这种复杂程度的话其实还好,性能的话,我没有测试不过每行的数据都需要请求一次数据库性能是会收到一些影响。
除了上面提到的方法外,大佬可以尝试写webAPI,对数据库请求一次数据库,获取到查询的所有数据,然后转成JSON对象数组,再返回,这样性能的话会获得一些提升,不过因为要写webAPI,复杂程度会高一些,不过若是大佬有webAPI的开发经验,实现起来会更好一些。
回复 使用道具 举报
renho活字格认证
银牌会员   /  发表于:2022-11-21 16:03:37
5#
需要自定义返回的话
我来推荐下咱家的插件

https://marketplace.grapecity.co ... tabName=Tabs_detail
回复 使用道具 举报
谢厅讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2022-11-21 16:41:52
6#
你这数据我感觉不太对啊&#128514;
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2022-11-21 17:05:37
7#
楼主这种结构,其实还涉及到把ID提出来,作为一个Key,value是其他字段的值,
其实还是属于一种比较小众的场景,是得需要用到插件自己构造结构
https://marketplace.grapecity.co ... tabName=Tabs_detail
回复 使用道具 举报
moer活字格认证
论坛元老   /  发表于:2022-11-21 17:08:36
8#
谢厅 发表于 2022-11-21 16:41
你这数据我感觉不太对啊&#128514;

谢厅,你说的是ID号吗,后来我中间删除表数据,截图不一致。
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2022-11-21 17:45:50
9#
手动@谢老板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部