本帖最后由 赛龙周 于 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.id where SaleOrderQ.id ='1000000008' FOR JSON auto 总体效果
|