2016-05-20 4 views
0

私は大きな既存のjsonオブジェクトを持っています。値が非常に大きい(多くのK)オブジェクトに新しいキー/値を追加したいと思います。私はこのような何か行うことができますJQ使用jq既存のjsonに大きな値を追加

echo $item | jq '. + {readme:"big blob of text"}'

は、シェルまたはJQ変数にbig blob of textを交換するための良い方法はありますか?

答えて

2

jqのバージョンが "--argjson"をサポートしている場合、以下のことができます。 --arg--argfileで同様のことができます。

#!/bin/bash 

function bigblob { 
cat <<EOF 
big blob of text 
EOF 
} 

item='{"a": "a"}' 

bigblob | jq -R --argjson item "$item" '$item + {"readme": .}' 

結果:

{ 
    "a": "a", 
    "readme": "big blob of text" 
} 
+0

マイbashfuが弱い、ありがとう! –

関連する問題