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填空白
实现