eolinker取数组数据合并成一个数据的方法

有时候遇到数据存在某一个数组中,类似下图结构,而用到这些数据的接口又需要一个数据集合,比如这样[14224, 14223]。

 

 思路使用后置脚本,创建一个集合,把这两项数据取出来来,然后放到集合里,脚本如下

eo.http.responseParam=JSON.parse(eo.http.responseParam);
let deleteID=[];
for(var i =0;i<eo.http.responseParam.Data.OrderStores[0].GroupInfo[0].List.length;i++){
        var item=eo.http.responseParam.Data.OrderStores[0].GroupInfo[0].List[i];
        deleteID.push(item.Id);
 }
 eo.env.envParam["deleteID"]=JSON.stringify(deleteID);

注意数据结构,特别是“[0]",不能省

创建一个空集deleteID

判断List长度,通过长度值执行循环数

每一次循环取一次List里的值,然后通过push方式取出Id

转化格式。上面这种写法产生的数据[14224, 14223]

 

有些时候又需要对数据进行处理,比如输出["14227","14226"],脚本就需要变更下,同时在下一个接口增加前置脚本

eo.http.responseParam=JSON.parse(eo.http.responseParam);
let newID=[];
for(var i =0;i<eo.http.responseParam.Data.OrderStores[0].GroupInfo[0].List.length;i++){
        var item=eo.http.responseParam.Data.OrderStores[0].GroupInfo[0].List[i];
        newID.push(item.Id.toString());
 }
 eo.env.envParam["newID"]=newID;

上面的脚本返回值

 

 

 下一个接口插入前置脚本 eo.http.bodyParseParam.A = eo.env.envParam["neWID"],这里的A代表接口对应的参数,比如此处把A改成ShopCartIds,然后ShopCartIds填空白

实现

 

posted @ 2022-09-07 16:23  小贝书屋  阅读(116)  评论(0编辑  收藏  举报