##0. やりたいこと
- json形式のデータをスクリプトで処理するときに、
key:value
のペアを追加する - json形式のデータをスクリプトで処理するときに、
key:value
のペアを削除する
##1. jsonのサンプルデータ
sample.json
{
"ginza": {
"foods": {
"maindish": "sushi",
"dessert": "warabimochi",
"antipast": "anpan",
"drink": "champagne"
}
}
}
##2. 追加
"aperitif":"soda"
というkey valueペアをfoods
のハッシュに追加したいとき
cat sample.json | jq '.ginza.foods | .+ {"aperitif":"soda"}'
{
"maindish": "sushi",
"dessert" : "warabimochi",
"antipast": "anpan",
"drink" : "champagne",
"aperitif": "soda"
}
##3. 削除
"drink" : "champagne"
を削除してみる
keyがdrink
じゃない要素だけ表示する、みたいなロジック。
cat sample.json | jq '.ginza.foods | with_entries(select( .key != "drink"))'
{
"maindish": "sushi",
"dessert": "warabimochi",
"antipast": "anpan"
}
こんな感じで使ってみた。
ただし、もっと良い方法あるかもです。