¿Cómo puedo parsear correctamente el cuerpo de la solicitud JSON en postman?
Mi objetivo es establecer una variable de entorno a partir de responseBody para poder reutilizarla más adelante en otras solicitudes. Antes de hacer eso, quiero obtener primero esa variable, sin embargo, encuentro problemas.
Entonces, mi responseBody se ve así:
{
“email”:”test_email”,
“tokens”:”{‘refresh’: ‘sample_refresh’, ‘access’: ‘sample access’}”
}
Ten en cuenta que los tokens se pasan como una cadena. Aquí está el código en la sección de pruebas de Postman:
response = JSON.parse(responseBody);
tokens = response.tokens
accesstry1 = tokens[“access”]
accesstry2 = tokens[1]
console.log(tokens)
Resultado: “{‘refresh’: ‘sample_refresh’, ‘access’: ‘sample access’}”
console.log(accesstry1)
Resultado: undefined
console.log(accesstry2)
Resultado: “”
También intenté analizar la variable de tokens pero me dio un error:
tokens = response.tokens
tokens_parsed = JSON.parse(tokens)
Resultado JSONError: Token inesperado ” en 1:2 {‘refresh’:
‘eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVza
davy.ai
Configuración de variables de entorno a partir de la ResponseBody en Postman
Para configurar una variable de entorno a partir de la ResponseBody en Postman, primero necesitamos extraer la variable. Sin embargo, en la ResponseBody dada:
Los tokens se pasan como un string. Para extraer los tokens, primero debemos analizar la ResponseBody utilizando el método JSON.parse():
Ahora, podemos acceder al token de acceso utilizando cualquiera de las siguientes formas:
Sin embargo, en el fragmento de código dado, se encuentra el siguiente problema:
Esto se debe a que los tokens se pasan como un string y no como un objeto. Para convertir este string a un objeto, debemos reemplazar las comillas simples por comillas dobles y utilizar el método JSON.parse():
Ahora, hemos extraído correctamente el token de acceso de la ResponseBody, que puede ser configurado como una variable de entorno utilizando el método pm.environment.set():
Esta variable de entorno puede ser reutilizada más adelante en otras solicitudes.