Estoy tratando de modificar un cuerpo JSON antes de enviar la siguiente solicitud POST en Postman.
La idea es hacer un GET y luego modificar el cuerpo antes de enviarlo nuevamente.
La primera parte está bien: OBTENER y luego guardar el valor en una variable de Postman.
Tengo problemas para agregar una matriz en el cuerpo JSON existente.
Cuerpo JSON
{ "Common": { "Shared": { "name": "test", "test_policy": { "rules": [ { "name": "default", "actions": [ { "type": "block", "enabled": true, } ] } ], } } } }Luego, necesito agregar otra "regla" en "reglas" como tal:
{ "Common": { "Shared": { "name": "test", "test_policy": { "rules": [ { "name": "rule0", "actions": [ { "type": "accept", "enabled": true, } ] }, { "name": "default", "actions": [ { "type": "block", "enabled": true, } ] } ], } } } }Pruebas en solicitud GET (que funciona bien)
let response = pm.response.json(); savedData = JSON.stringify(response); pm.environment.set("declaration", savedData);La solicitud previa en POST no funciona, sigo recibiendo un "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);Cualquier ayuda es bienvenida.
¡Gracias!
let declaration_obj = JSON.parse(pm.variables.get("declaration")); declaration_obj.Common.Shared.test_policy.rules.push(rule_obj)debe llamar a la propiedad rules y luego llamar a push en ella. no en el objeto json principal