Bashでjsonを解析するためのdebian wheezyのjq代替

Bashでjsonを解析するためのdebian wheezyのjq代替

Ubuntuでは簡単に設置できますジャック:

apt-get install jq 

しかし、Debianではリポジトリにはありません。

コンソールでJSON文字列を解析する代わりに、コマンドラインはありますか?

おそらく(fantasycode)のようにPythonを使ってこれを達成できます。

cat test.json | python 'parse_json(stdin)'

答え1

jqはWheezyバックポートにあり、Jessieのために計画されています。

Wheezyのバックポートの場合は、/etc/apt/sources.listに以下を追加します(またはsource.d/???.listにファイルを追加します)。

deb http://http.debian.net/debian wheezy-backports main

それから:

apt-get -t wheezy-backports install jq

別のオプション:

python -m json.tool file.json

答え2

CLI jsonパーサーは次のとおりです。ジェイソン。簡単な例は次のとおりです。

$ jshon -e foo -u <<< '{ "foo":"bar" }' 
bar

この-eオプションはjsonから値を抽出し、-u最後の文字列をデコードします。

答え3

また見てくださいjtcunixユーティリティ - jtcJSONクエリを簡単に実装するために開発しました。

  • 客観的に速い
  • 解決策を見つけるのは簡単です(ほとんどの場合)。試すまでは主観的だが
  • 基本概念は理解しやすいです。
  • 一般に、jtc慣用的な解決策は、入力データの欠落防止と入力データの外部構造の不変性です(JSON要素は時間の経過とともに同じ関係を維持するため)。

答え4

関連情報