Sto cercando di ottenere jq
per analizzare una struttura JSON come:Usa JQ ad analizzare una stringa JSON
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
Cioè, un elemento in JSON è una stringa con JSON sfuggito.
Così, ho qualcosa sulla falsariga di $ jq [.c] myFile.json | jq [.id]
Ma che si blocca con jq: error: Cannot index string with string
Questo perché l'uscita di .c è una stringa, non di più JSON. Come posso ottenere jq per analizzare questa stringa?
La mia soluzione iniziale è quello di utilizzare sed per sostituire tutti i caratteri di escape (\":\"
, \",\"
e \"
) ma questo è disordinato, suppongo ci sia un modo integrato in jq
per fare questo?
Grazie!
edit: Inoltre, la versione JQ disponibile qui è:
$ jq --version
jq version 1.3
Credo che avrei potuto aggiornarlo, se necessario.
Questa domanda è utile anche se si sta cercando: "Come rimuovere la stringa json utilizzando jq?" – k0pernikus