Come analizzare un array JSON di oggetti in un array bash con tali oggetti come stringhe?Come posso convertire json array in bash array di stringhe con jq?
che sto cercando di fare quanto segue:
CONVO=$(get_json_array | jq '.[]')
for CONVERSATION in $CONVERSATIONS
do
echo "${CONVERSATION}"
done
Ma le stampe eco le linee al posto degli oggetti specifici. Il formato dell'oggetto è:
{ "key1":"value1", "key2": "value2"}
e devo passare a un api:
api_call '{ "key1":"value1", "key2": "value2"}'
+1. Ri: "fino a quando una nuova riga non è un carattere valido in qualsiasi oggetto": poiché questi sono oggetti JSON, non è una preoccupazione. – ruakh
Ah, ero sotto l'assunto errato che una nuova riga potesse apparire in un valore hash, ma sembra che debbano essere codificati come '\ n'. – chepner
Se si usa 'jq -j' invece di' jq -r', non c'è nessun separatore aggiunto da JQ stesso, quindi è possibile aggiungere il proprio (come i letterali NUL) dal codice jq. –