es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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

Tags:  , ,

Answer

  1. Avatar for 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:

    {
        "email":"test_email",
        "tokens":"{'refresh': 'sample_refresh', 'access': 'sample access'}"
    }
    

    Los tokens se pasan como un string. Para extraer los tokens, primero debemos analizar la ResponseBody utilizando el método JSON.parse():

    response = JSON.parse(responseBody);
    tokens = response.tokens;
    

    Ahora, podemos acceder al token de acceso utilizando cualquiera de las siguientes formas:

    access_token_1 = tokens["access"];
    access_token_2 = tokens.access;
    

    Sin embargo, en el fragmento de código dado, se encuentra el siguiente problema:

    console.log(accesstry1)
    Resultado: undefined
    console.log(accesstry2)
    Resultado: "'"
    

    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():

    tokens_string = response.tokens.replace(/'/g, '"');
    tokens_object = JSON.parse(tokens_string);
    access_token_1 = tokens_object["access"];
    

    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():

    pm.environment.set("access_token", access_token_1);
    

    Esta variable de entorno puede ser reutilizada más adelante en otras solicitudes.

Comments are closed.