赛龙周 发表于 2022-12-15 11:10:11

主子表生成json格式的几种方式(附demo)

本帖最后由 赛龙周 于 2022-12-15 11:14 编辑

项目开发过程中,有时需要将主子表生成json格式的数据,用来保存或传输数据,经过摸索,活字格能够通过以下三种方式实现:
[*]通过“发送http请求命令”实现
[*]通过“对象操作”插件实现
[*]通过“for json”的sql命令实现(需要mssql 2016以上版本)
下面分享下实现过程:首先,数据准备:从模板库“库存管理系统”导入销售订单详情表作为演示数据1.第一种方法:通过“发送http请求命令”实现
最早想到就是用http命令,它是天生用来处理json数据。碰到的第一个问题是,这个地址该填什么?以前都是有api的地址调用的,现在没有接口啊!


其实活字格的服务端命令就是一个API接口,我们现在需要返回一个json数据,那就简单了,就先建个返回数据的服务端命令(jsonpara):接收一个参数,再把这个参数以json返回,命令就一条:返回命令接下来就是组织主子表数据了:再写个服务端命令(ReturnJson):定义好表头、表体参数(body),其中表体是个数组类型的,需要再定义好数组项在命令中,发送http请求,调用前面创建的服务端命令:ServerCommand/Jsonpara,注意请求体参数要对应好接下来就是构建主子表参数了然后就前端页面调用该命令了2.第二种方法:通过“对象操作”插件实现根据之前使用“对象操作”插件的经验,它的返回结果也是个json同样我们创建个服务端命令(ArrayJson),定义好表头、表体参数:创建表头对象head,配置好属性名与属性值创建表体对象body,配置好属性名与属性值最后创建我们要返回的json前端页面调用该命令了,传参数同样的结果3.第三种方法:通过“for json”的sql命令实现,因需要mssql 2016以上版本,我这就把sql语句放下面:select * from SaleOrderQ with (nolock) inner join SaleOrderSQ with (nolock) on SaleOrderQ.id=SaleOrderSQ.idwhere SaleOrderQ.id ='1000000008'FOR JSON auto总体效果

heroniu50 发表于 2022-12-15 17:12:43

感谢大佬分享,每次来论坛都能学好多东西

小白学员 发表于 2022-12-16 10:32:06

干货,点赞!

阿南哥 发表于 2022-12-22 09:11:43


这里多了一个body

李大姐 发表于 2022-12-28 12:01:44

阿南哥 发表于 2022-12-22 09:11
这里多了一个body

:hjyzw:
页: [1]
查看完整版本: 主子表生成json格式的几种方式(附demo)