找回密码
 立即注册

QQ登录

只需一步,快速开始

amtath 悬赏达人认证 活字格认证

论坛元老

153

主题

1350

帖子

4177

积分

论坛元老

承接开发VX:idejian

积分
4177

活字格高级认证圣诞拼拼乐微信认证勋章悬赏达人活字格认证

QQ
amtath 悬赏达人认证 活字格认证
论坛元老   /  发表于:2023-8-15 23:55  /   查看:2417  /  回复:6
本帖最后由 amtath 于 2023-8-15 23:57 编辑


有时候,我们调用api做数据对接,传json时会有格式要求。例如:



image.png644732360.png
说明文档:https://open.chanjet.com/docs/fi ... d/t+dj/xhd?id=30787

当我们把这一串复制到http请求命令中之后,对应的表体参数这里直接静态了。orz。咋整,我们的表体可肯定不会永远只有一行
image.png699749145.png

半路出家,卡这个问题好久了。终于有一天,电闪雷鸣,我顿悟了,那是不可能的,查论坛资料,听说可以构造。
于是,叮叮咚咚一翻,捣鼓出来了:结合我们的对象操作和集合操作命令。

image.png993957519.png


执行过程如下:

  1. 创建数组对象: array 用时:0毫秒。
  2.     创建变量 array = []
  3. 设置变量命令 : entrys 用时:4毫秒。
  4.     SELECT  [ID], [item], [qty], [warehouse], [amount], [fbatchno] FROM 表1
  5.     创建变量 entrys = [{"ID":1,"item":"aa","qty":"100","warehouse":"a","amount":"1000","fbatchno":"11"},{"ID":2,"item":"bb","qty":"200","warehouse":"b","amount":"2000","fbatchno":"22"},{"ID":3,"item":"cc","qty":"50","warehouse":"a","amount":"500","fbatchno":"333"}]
  6. 循环命令 用时:1毫秒。
  7.     创建变量 entry = {"ID":1,"item":"aa","qty":"100","warehouse":"a","amount":"1000","fbatchno":"11"}
  8.     创建对象: bankobject 用时:0毫秒。
  9.         创建变量 bankobject = {}
  10.     创建对象: Inventory 用时:0毫秒。
  11.         创建变量 Inventory = {"Code":"aa"}
  12.     创建对象: Warehouse 用时:0毫秒。
  13.         创建变量 Warehouse = {"Code":"a"}
  14.     对象操作(SetProperties):fullobject 用时:0毫秒。
  15.         创建变量 fullobject = {"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"}
  16.     追加数组项目到已有数组: array 用时:0毫秒。
  17.         设置变量 array = [{"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"}]
  18.     设置变量 entry = {"ID":2,"item":"bb","qty":"200","warehouse":"b","amount":"2000","fbatchno":"22"}
  19.     创建对象: bankobject 用时:0毫秒。
  20.         设置变量 bankobject = {}
  21.     创建对象: Inventory 用时:0毫秒。
  22.         设置变量 Inventory = {"Code":"bb"}
  23.     创建对象: Warehouse 用时:0毫秒。
  24.         设置变量 Warehouse = {"Code":"b"}
  25.     对象操作(SetProperties):fullobject 用时:0毫秒。
  26.         设置变量 fullobject = {"Inventory":{"Code":"bb"},"Warehouse":{"Code":"b"},"Batchno":"22","Qty":"200","Amount":"2000"}
  27.     追加数组项目到已有数组: array 用时:0毫秒。
  28.         设置变量 array = [{"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"},{"Inventory":{"Code":"bb"},"Warehouse":{"Code":"b"},"Batchno":"22","Qty":"200","Amount":"2000"}]
  29.     设置变量 entry = {"ID":3,"item":"cc","qty":"50","warehouse":"a","amount":"500","fbatchno":"333"}
  30.     创建对象: bankobject 用时:0毫秒。
  31.         设置变量 bankobject = {}
  32.     创建对象: Inventory 用时:0毫秒。
  33.         设置变量 Inventory = {"Code":"cc"}
  34.     创建对象: Warehouse 用时:0毫秒。
  35.         设置变量 Warehouse = {"Code":"a"}
  36.     对象操作(SetProperties):fullobject 用时:0毫秒。
  37.         设置变量 fullobject = {"Inventory":{"Code":"cc"},"Warehouse":{"Code":"a"},"Batchno":"333","Qty":"50","Amount":"500"}
  38.     追加数组项目到已有数组: array 用时:0毫秒。
  39.         设置变量 array = [{"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"},{"Inventory":{"Code":"bb"},"Warehouse":{"Code":"b"},"Batchno":"22","Qty":"200","Amount":"2000"},{"Inventory":{"Code":"cc"},"Warehouse":{"Code":"a"},"Batchno":"333","Qty":"50","Amount":"500"}]
  40. 创建对象: Dto 用时:0毫秒。
  41.     创建变量 Dto = {"Dto":[{"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"},{"Inventory":{"Code":"bb"},"Warehouse":{"Code":"b"},"Batchno":"22","Qty":"200","Amount":"2000"},{"Inventory":{"Code":"cc"},"Warehouse":{"Code":"a"},"Batchno":"333","Qty":"50","Amount":"500"}]}
  42. 返回命令 用时:0毫秒。
  43. 错误码: 0
  44. 信息: {"Dto":[{"Inventory":{"Code":"aa"},"Warehouse":{"Code":"a"},"Batchno":"11","Qty":"100","Amount":"1000"},{"Inventory":{"Code":"bb"},"Warehouse":{"Code":"b"},"Batchno":"22","Qty":"200","Amount":"2000"},{"Inventory":{"Code":"cc"},"Warehouse":{"Code":"a"},"Batchno":"333","Qty":"50","Amount":"500"}]}
  45. '服务端命令1'命令执行结束, 用时:22毫秒。
复制代码
最后,再调用http请求的时候,把静态的参数,改成我们构造好的数组对象传进去。
image.png727907104.png

附上工程,方便跟我一样想不开的格友参考。

构造数组对象.fgcc (418.21 KB, 下载次数: 451)
image.png292999572.png

评分

参与人数 1满意度 +5 收起 理由
olookok + 5

查看全部评分

6 个回复

倒序浏览
赛龙周
银牌会员   /  发表于:2023-8-18 09:45:10
沙发
对象和集合操作是个好东西。
如果能把json解析结果copy出来就完美了
回复 使用道具 举报
wwwlliu
初级会员   /  发表于:2023-11-11 14:30:49
板凳
留下来,学习下!~~
回复 使用道具 举报
true
中级会员   /  发表于:2023-11-11 16:54:12
地板
太抽象了 始终感觉活字格这种比用代码还抽象
回复 使用道具 举报
olookok活字格认证
论坛元老   /  发表于:2024-11-6 18:54:57
5#
正瞌睡,找到你这个枕头 。
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-6 19:21:47
6#
olookok 发表于 2024-11-6 18:54
正瞌睡,找到你这个枕头 。

受益于社区,反哺社区
回复 使用道具 举报
ZDYW悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-11-15 10:08:29
7#
学习                                             
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部