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.

Convertir respuesta de texto en un arreglo JSON (Postman)

Estoy intentando convertir una Respuesta de Texto que estoy obteniendo en POSTMAN en un array JSON y estoy buscando ayuda. En este momento, puedo crear variables a partir de una Respuesta de Texto usando .split() de la siguiente manera:

Respuesta:

1. 1c522d76-5d20-11ec-bf63-0242ac130002
2. 1c522fc4-5d20-11ec-bf63-0242ac130002
3. 1c5230d2-5d20-11ec-bf63-0242ac130002
4. 1c5231c2-5d20-11ec-bf63-0242ac130002
5. 1c5232a8-5d20-11ec-bf63-0242ac130002

Configurando Variables de Colección dividiendo la Respuesta de Texto (Cada UUID es una variable):

pm.collectionVariables.set("UUID_1", res.text().split("\r\n")[0])   
pm.collectionVariables.set("UUID_2", res.text().split("\r\n")[1])
pm.collectionVariables.set("UUID_3", res.text().split("\r\n")[2])
pm.collectionVariables.set("UUID_4", res.text().split("\r\n")[3])
pm.collectionVariables.set("UUID_5", res.text().split("\r\n")[4])

Sin embargo, en lugar de crear variables de esta manera, creo que sería una mejor idea convertir la respuesta de texto en un array JSON. De esta manera, podría trabajar para alcanzar mi objetivo de realizar solicitudes de API en bucle hasta que el array JSON esté completo.

Hasta ahora, tengo esto: que establece una variable de entorno convirtiéndola en una cadena, lo cual básicamente crea una cadena, pero creo que está agrupando toda la Respuesta de Texto en una sola cadena.

let body = pm.response.text()
pm.environment.set("text2json", JSON.stringify(body));
console.log(body)

lo cual notará cómo lo coloca entre comillas dobles:

""1c522d76-5d20-11ec-bf63-0242ac130002\r\n1c522fc4-5d20-11ec-bf63-0242ac130002\r\n1c5230d2-5d20-11ec-bf63-0242ac130002\r\n1c5231c2-5d20-11ec-bf63-0242ac130002\r\n1c5232a8-5d20-11ec-bf63-0242ac130002""

Desafortunadamente, obtengo un error si intento obtener la Variable de Entorno y mostrarla en la consola de esta manera:

console.log(pm.environment.get("text2json"))

Error:

JSONError: Token inesperado 'c' en 1:21c522d76-5d20-11ec-bf63-0242ac130002

Busco una forma de hacer esto funcionar y convertirlo en un array JSON.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para convertir la respuesta de texto en un arreglo JSON, puedes intentar utilizar el método .split() para dividir la respuesta en un arreglo de cadenas y luego usar .map() para convertir cada cadena en un objeto. Aquí tienes un ejemplo de código:

    let body = pm.response.text();
    let uuidArray = body.split('\r\n');
    
    let jsonArray = uuidArray.map((uuid, index) => {
      return {
        id: index + 1,
        value: uuid
      }
    });
    
    console.log(jsonArray);
    

    Este código primero divide la respuesta de texto en un arreglo de cadenas de UUID utilizando el método .split(). Luego, utiliza .map() para convertir cada cadena de UUID en un objeto con una propiedad id y value.

    Puedes ajustar el código según tus requerimientos para crear el arreglo JSON en el formato que necesites.

Comments are closed.