pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


JSONデータのキーをカンマ区切りで取得したい

JSONデータのキーをカンマ区切りで使用する必要が出たので、方法をメモしておく。

$ curl [URL] | jq -r '.rootProperty[0]|keys_unsorted|@csv' | sed 's/"//g'
$ curl [URL] | jq -r '.rootProperty[0]|keys_unsorted|@tsv' | sed 's/\t/,/g'

基本的には jq に丸投げしつつ以下のことを行っているだけ。

rootProperty の部分は実際のJSON配列名等に書き換えます。

  • keys_unsorted でキーをソート無しで取得
  • @tsv または @csv に変換
  • sed で余計な文字を切り落とす

本当は @csv でダブルクオートなしの出力が得られればよかったのだけど、そういうわけではなさそう。だから @csv したものを sed で後処理している。

同様の理由により、@tsv した場合も sed での後処理が必要っぽい。