ダブルクォートがエスケープされたjsonを整形する

Linuxコマンド シェルスクリプト

やりたいこと

■Before

bbb.json

"{\"name\":\"hoge\",\"age\":12}"

■After

{
  "name": "hoge",
  "age": 12
}

結論

$ cat bbb.json | jq -r | jq
{
  "name": "hoge",
  "age": 12
}
  • -r:文字列出力のダブルクォートを取り除く

逆:jsonを圧縮してダブルクォートをエスケープする

■Before

aaa.json

{
  "name": "hoge",
  "age": 12
}

■After

"{\"name\":\"hoge\",\"age\":12}"

やり方

$ cat aaa.json | jq -c | jq -R
"{\"name\":\"hoge\",\"age\":12}"
  • -c:一行に表示
  • -R:raw出力する

まとめ

  • -c:一行に表示
  • -R:raw出力する
  • -r:文字列出力のダブルクォートを取り除く
タイトルとURLをコピーしました