タグ

jqに関するatm_09_tdのブックマーク (5)

  • jqのGo実装 gojq を作りました! ― スタックマシン型インタープリタによるイテレータセマンティクスの実装 - プログラムモグモグ

    jqはとても便利なコマンドです。 JSONを返すAPIを実装するときや、SaaSのAPIから特定の情報を抜き出してシェル変数に代入するときなど、web開発や運用には欠かせないツールとなっています。 しかし、私にとってjqのクエリを一発で書くのは容易ではなく、思い通りの出力が得られないことがよくありました。 難しいエラーメッセージに悩まされて、jqで書くのを諦めて別の言語で書き直すこともありました。 jqの十八番と思える場面で使いこなせないのは、なかなか悔しいものがあります。 ツールを使うのが難しいなら、同じものを作ってしまえばよいのです。 jqの全ての機能を実装する jqを言語としてきちんと書けるようになる jqを完全に理解する jqの全ての機能を自分で実装してしまえば、jqがどういうものか、クエリがどのように処理されるのか、詳しくなれるはずです。 jqを得意な言語と言えるようになって、ク

    jqのGo実装 gojq を作りました! ― スタックマシン型インタープリタによるイテレータセマンティクスの実装 - プログラムモグモグ
  • jqのYAML/XMLラッパー yq でJSONとYAMLを自在に操る | DevelopersIO

    ども、大瀧です。 JSONをいい感じに操るCLIツールjqは皆さんご存知かと思います。最近、YAMLを触る機会が増えてきたので、同じように使えるツールはないかなぁと思っていたら、jqのYAML/XMLラッパーであるyqが使いやすかったのでご紹介します。 yqとは yqはYAMLが扱えるjqのラッパーです。jq同様の豊富なフィルタ構文でYAMLを操作できるのが特徴です。 jqを事前にインストールしておき、Python pipでインストールします。 $ pip install yq yqの使い方 yqの入力は、標準入力ないしファイルでJSON形式とYAML形式の両方に対応します。出力はデフォルトがJSON、-yオプションを指定してYAMLになります。フィルタなし('.'を指定)でも、JSON-YAMLの相互変換が可能です。 sample.json { "Samples" : [ { "name

    jqのYAML/XMLラッパー yq でJSONとYAMLを自在に操る | DevelopersIO
  • jq コマンドを使う日常のご紹介 - Qiita

    jq コマンドとは http://stedolan.github.io/jq/ JSONから簡単に値を抜き出したり、集計したり、整形して表示したりできるJSON用のgrepとかawkみたいなコマンドです。 WebサービスがJSONを吐いたり、AWS CLIが JSON を吐いたりする現代社会で大変便利なコマンドです。 マニュアル だいたいここ読めばOK. http://stedolan.github.io/jq/manual/ あ、これで、終わってしまう。だけど気にせず進めます。 簡単な例 まず、空気をつかみましょう。 以下jqコマンドの記法を見ていきます。JSON { "hoge": "value" } があった場合、 . がルート {} を表します。.hoge で "value" を表現します。だいたいこんな感じです。 ただの整形 しばらく下記のJSONを例に進めます。itemsには配

    jq コマンドを使う日常のご紹介 - Qiita
  • curlとjqで簡単にAPIの調査をする - $shibayu36->blog;

    ちょっとAPIを調査したいと思った時に、スクリプトを書くのも面倒なのでcurlとjqとかを利用してみたら、便利だったのでメモ。今回はTrelloをちょっといじってみた。 Redirecter ひとまずcurlでjsonを出す これは普通にcurlするだけ。 curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards'これでは見づらい。 curlで出たjsonをpretty化する jqに通すだけでpretty化と更に色付けされる。 curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards' | jq '.' curlで出たjsonの一部だけ表示する jqはjsonをいろいろ絞り込み出来る。 例えばリストの5件目まで表示。 curl 'h

    curlとjqで簡単にAPIの調査をする - $shibayu36->blog;
  • Big Sky :: なんでもシェルで書いちゃう男の人って...。

    « C++ の JSON ライブラリ json11 は initializer_list が綺麗。 | Main | 「便利」と「感極まってきました」だけでプログラムが書ける日語プログラミング言語「うじひさ」を作った。 » ShellScript - jq、xmllintコマンドさようなら。俺はパイプが好きだから - Qiita UNIX哲学の一つとしてよく引用されるマイク・ガンカーズの教義に 1.小さいものは美しい。 2.1つのプログラムには1つのことをうまくやらせよ。 というのがあるが、まずこれができていない http://qiita.com/richmikan@github/items/e051b5d882c3dd2a39c6 昔の UNIX で扱っていたデータはだいたい行指向でした。そして UNIX は行指向データを扱う為の OS と言っても過言ではありませんでした。 しかし J

    Big Sky :: なんでもシェルで書いちゃう男の人って...。
  • 1