试图找出如何在网下插入新行。基本上我需要弄清楚已经有多少已经存在,所以我不重叠它,并添加一个新的。
原文:{“jsonrpc”:“2.0”,“method”:“update”,“params”:{“vid”:10,“_ update”:{“data”:{“lan”:{“net”:[ {“id”:1,“name”:“FIRST”},{“id”:15,“name”:“SECOND”}}}}}},“id”:1}
想补充一下:
{“id”:8,“name”:“THIRD”}
所以FINAL将是新的{“jsonrpc”:“2.0”,“method”:“update”,“params”:{“vid”:10,“_ update”:{“data”:{“lan”:{“net “:[{”id“:1,”name“:”FIRST“},{”id“:15,”name“:”SECOND“},{”id“:8,”name“:”THIRD“} ]}}}},“id”:1}
澄清一下:我将发一个检索json数据的POST - 这个数据没有修复,每次运行POST时它可能有更多元素或更少。
我想给这个json添加一些内容并用它将它发送到另一个请求中。
我想我可以使用TEST将回复存储在env.variable中,该部分有效,然后在另一个POST中使用此env.variable作为正文
现在我只需要弄清楚如何在我第一次POST中收集的JSON中添加一些内容,这是原始问题:)
第三个条目是如何存储在数据文件中的?
如果它存储为字符串,我会建议实用的方法:只需将变量添加到JSON Body(但不要忘记逗号)。
{
"jsonrpc": "2.0",
"method": "update",
"params": {
"vid": 10,
"_update": {
"data": {
"lan": {
"net": [
{
"id": 1,
"name": "FIRST"
},
{
"id": 15,
"name": "SECOND"
},
{{data_value}}
]
}
}
}
},
"id": 1
}
如果数据是单独存储的,例如作为ID和名称,只需将其添加到您的预请求脚本:
var myNewObject = { id : data.id, name:data.name};
pm.globals.set("myNewObject", JSON.stringify(myNewObject));
此代码段将添加一个具有id和name的新Object,并使用数据文件中的数据ID和名称对其进行设置。它将被存储为全局变量myNewObject,可以在你的身体中使用(不要忘记逗号;-)):
{
"jsonrpc": "2.0",
"method": "update",
"params": {
"vid": 10,
"_update": {
"data": {
"lan": {
"net": [
{
"id": 1,
"name": "FIRST"
},
{
"id": 15,
"name": "SECOND"
},
{{myNewObject}}
]
}
}
}
},
"id": 1
}
另一个想法是将整个“net”数组存储在变量中。您可以将新对象附加到此数组。但在这种情况下,必须知道整个“网络”数组(例如,从全局变量)。
JsonBody
{
"jsonrpc": "2.0",
"method": "update",
"params": {
"vid": 10,
"_update": {
"data": {
"lan": {
"net": {{netArray}}
},
"id": 1
}
预请求脚本
var myNewObject = { id : data.id, name:data.name};
var netArray = JSON.parse(pm.globals.get("netArray"));
netArray.push(myNewObject); //<-- Adds new object to the array
pm.globals.set("netArray", JSON.stringify(netArray));