簡體   English   中英

Postman 在預請求腳本上修改 JSON

[英]Postman Modify JSON on Pre-Request Script

我正在嘗試在 Postman 上發送下一個 POST 請求之前修改 JSON 正文。

這個想法是先做一個 GET 然后在再次發布它之前修改正文。

第一部分很好 - GET 然后將值保存在 Postman 變量上。

我在現有 JSON 正文上添加數組時遇到問題。

JSON 正文

{
    "Common": {
        "Shared": {
            "name": "test",
            "test_policy": {
                "rules": [
                    {
                        "name": "default",
                        "actions": [
                            {
                                "type": "block",
                                "enabled": true,
                            }
                        
                        ]
                    }
                ],
            }
        }
    }
}

然后我需要在“規則”下添加另一個“規則”:

{
    "Common": {
        "Shared": {
            "name": "test",
            "test_policy": {
                "rules": [
                {
                        "name": "rule0",
                        "actions": [
                            {
                                "type": "accept",
                                "enabled": true,
                            }
                        
                        ]
                    },
                    {
                        "name": "default",
                        "actions": [
                            {
                                "type": "block",
                                "enabled": true,
                            }
                        
                        ]
                    }
                ],
            }
        }
    }
}

對 GET 請求的測試(工作正常)

let response = pm.response.json();
savedData = JSON.stringify(response);
pm.environment.set("declaration", savedData);

POST 上的預請求不起作用,我不斷收到“declaration.push is not a function”

 var rule = '{"name": "rule0","actions": [{"type": "accept","enabled": true,}]}';

let rule_obj = JSON.parse(rule);
let declaration_obj = JSON.parse(pm.variables.get("declaration"));

declaration_obj.push(rule_obj)

newDeclaration = JSON.stringify(declaration_obj);

pm.environment.set("newDeclaration", newDeclaration);

歡迎任何幫助。

謝謝!

let declaration_obj = JSON.parse(pm.variables.get("declaration"));



declaration_obj.Common.Shared.test_policy.rules.push(rule_obj)

您應該調用 rules 屬性,然后調用 push 。 不在主要的 json 對象上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM