Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2013/12/03

シェルスクリプトで JSON のデータを処理する

  sh  cli  javascript 
このエントリーをはてなブックマークに追加

最近は API の返り値が JSON になっていることは珍しくなくなってきましたが、API をりようしたちょっとしたスクリプトを書くときにJSON の中身からデータを取り出して処理したいとなるとちょっと厄介です。これまでは JSON パーサーを持った Ruby や Node.JS なんかを使っていちいち処理を書いていたのですが、やはりちょっとヘビーなのでうまく bash だけでやる方法がないかどうか調べてみました。

いくつかググって調べてみたら Node.JS を利用したコマンドラインのjsontool*1 というプロダクトが見つかりました。
インストールは Node.JS が導入されていれば nph で一撃です。

# npm install -g jsontoolnpm http GET https://registry.npmjs.org/jsontoolnpm http 200 https://registry.npmjs.org/jsontoolnpm http GET https://registry.npmjs.org/jsontool/-/jsontool-7.0.1.tgznpm http 200 https://registry.npmjs.org/jsontool/-/jsontool-7.0.1.tgz/usr/bin/json -> /usr/lib/node_modules/jsontool/lib/jsontool.jsjsontool@7.0.1 /usr/lib/node_modules/jsontool# json --versionjson 7.0.1written by Trent Mickhttps://github.com/trentm/json

以下、簡単な実行例を。

あとはこんな感じで簡単に JSON から必要なデータを取り出すことができます。
perl にあった xpath コマンドのような感じですね。

$ echo '{"a":"123","b":[1,2,3],"c":{"1":"a","2":"b","3":"c"}}' | json{ "a": "123", "b": [ 1, 2, 3 ], "c": { "1": "a", "2": "b", "3": "c" }}$ echo '{"a":"123","b":[1,2,3],"c":{"1":"a","2":"b","3":"c"}}' | json a123$ echo '{"a":"123","b":[1,2,3],"c":{"1":"a","2":"b","3":"c"}}' | json b[ 1, 2, 3]$ echo '{"a":"123","b":[1,2,3],"c":{"1":"a","2":"b","3":"c"}}' | json b[0]1$ echo '{"a":"123","b":[1,2,3],"c":{"1":"a","2":"b","3":"c"}}' | json c.1a

byhsur at 17:44[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
こんな記事もあります 「API 返り値 Node.JS
久しぶりに普通の風邪をひいたらしい
EU のサイバーレジリエンス法について Pyton が懸念を表明
Twilog が新規ツイートの記録を終了
TeraTerm の背景色をお手軽に変更できる TTXCommandLineOptKai を TeraTerm5 対応に
喉の痛み以外はほぼ平常に(療養 5 日目)
Windows で Mifare Classic からデータを読み出す
UNIPA RX を API 化する「UNIPA-Agent」
MS の 基本認証廃止は 10 月 1 日から
Carbon で綺麗なソースコードの画像を生成する
さくらのクラウドのシンプル監視の通知先として IFTTT や Zapier が選べるように
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6311
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL:Yahoo! JAPAN IDでログイン

« :: »
Copyright © 2004-2023 by CLES All Rights Reserved.
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 .アーロンチェアのポスチャーフィットを修理(99788)
2 .福岡銀がデマの投稿者への刑事告訴を検討中(99173)
3 .年次の人間ドックへ(99163)
4 .三菱鉛筆がラミーを買収(98771)
5 .2023 年分の確定申告完了!(1つめ)(98734)
最新のエントリ
cles::blogについて
誰が書いてる?
最近行った場所
サイトポリシー
タグ一覧
検索ワードランキング

Referrers

    Powered by CLES
    Nucleus CMS v3.31SP3/w memcached
    21377509(W:8134 Y:1277 T:0331)
    cles::blogのはてなブックマーク数
    benchmark


    [8]ページ先頭

    ©2009-2025 Movatter.jp