Bir json dizisi nesnesini, dizeler olarak bu nesnelerle birlikte bir bash dizisine nasıl ayrışırım?Json dizisini jq ile dizelerin bash dizisine nasıl dönüştürebilirim?
aşağıdaki yapmaya çalışıyorum:
CONVO=$(get_json_array | jq '.[]')
for CONVERSATION in $CONVERSATIONS
do
echo "${CONVERSATION}"
done
Ama yankı baskılar dışarı yerine belirli nesnelerin hatlarını.
{ "key1":"value1", "key2": "value2"}
ve bir API için geçmesi gereken: nesnenin biçimi
api_call '{ "key1":"value1", "key2": "value2"}'
+1. Re: "bir satırsonu herhangi bir nesnede geçerli bir karakter olmadığı sürece": Bunlar JSON nesneleri olduğundan, bu bir sorun değildir. – ruakh
Ah, bir satırsonu değerinde yeni bir satırın görünebileceği yanlış varsayımın altındaydım, ancak '\ n' olarak kodlanması gerekiyor gibi görünüyor. – chepner
'jq -r' yerine' jq -j' komutunu kullanırsanız, JQ tarafından eklenen bir ayırıcı yoktur, böylece kendi kodunuzdan kendi NUL'leri (NUL edebi gibi) ekleyebilirsiniz. –