recorrer objeto mostrar ejemplos ejemplo datos crear convertir array json command-line jq

objeto - Convierte cadena a json en jq



recorrer json javascript (1)

Fondo

Tengo un archivo json que contiene una cadena de json dentro de un objeto:

{ "requestType": "POST", "response": { "size": 78, "text": "{/"recordID/":123, /"title/":/"Hello World/", /"content/":/"Lorem ipsum.../"}" } }

Necesito .response.text el contenido de la cadena .response.text como json usando la línea de comando json interpereter, jq .

Cuando ejecuto este comando:

jq ''.response.text | @json''

Salida: "/"{///"recordID///":123, ///"title///":///"Hello World///", ///"content///":///"Lorem ipsum...///"}/""

Obtengo una extraña cadena JSON escapada en lugar de JSON a la que puedo acceder a través de algo como esto: .response.text | @json | .recordID .response.text | @json | .recordID .response.text | @json | .recordID .

Me doy cuenta de que la función @json tomará json y generará una cadena json escapada, por lo que debe haber otra forma, pero @text no parece hacer nada.

Pregunta

¿Hay alguna forma de convertir una cadena de json escapado a json real que puedo analizar con un comando como este: jq ''.response.text | @json | .title'' jq ''.response.text | @json | .title'' jq ''.response.text | @json | .title'' y obtener esta salida: "Hello World" ?


Usar desde fromjson .

Analiza una cadena json a su valor json apropiado. tojson (y @json ) van al revés y toman un valor json y lo convierten en una cadena json.

Entonces podrías hacer esto:

.response.text | fromjson.title