すでにjsonファイルがあり、jqを使用してファイルを開いて編集したいシナリオがあります。
jsonファイル(temp.json):
{
"a":{
"keya" : "abc",
"keyb" : "xyz"
},
"c":{
"keyc" : "yyy"
}
}
c
ここでは、検索を通じてブロックの前に別のjsonオブジェクトを追加したいと思います。デフォルトでは、最後のオブジェクトの前に値を追加します。この場合、最後のオブジェクトは常にc
"b":{
"keyb" : "yop"
}
私はjqを使用して挿入ブロックを実装しましたが、目的の場所に挿入されませんでした。
jq '. |= . + {"b":{ "keyb" : "yop" }}' temp.json
どんな助けでもいいでしょう。
ベストアンサー1
jq
キーをソートするために使用できるオプション-S
。例えば
$ jq -S '. |= . + {"b":{ "keyb" : "yop" }}' temp.json
{
"a": {
"keya": "abc",
"keyb": "xyz"
},
"b": {
"keyb": "yop"
},
"c": {
"keyc": "yyy"
}
}