有時候遇到數據存在某一個數組中,類似下圖結構,而用到這些數據的接口又需要一個數據集合,比如這樣[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填空白
實現