如何从预请求或数据文件中添加json主体中的元素?

问题描述 投票:1回答:1

试图找出如何在网下插入新行。基本上我需要弄清楚已经有多少已经存在,所以我不重叠它,并添加一个新的。

原文:{“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 postman
1个回答
0
投票

第三个条目是如何存储在数据文件中的?

如果它存储为字符串,我会建议实用的方法:只需将变量添加到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));

© www.soinside.com 2019 - 2024. All rights reserved.