タグ付けされた質問 「jq」

2
jqで内部配列の値に基づいてオブジェクトの配列をフィルタリングする方法
この入力が与えられた場合: [ { "Id": "cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b", "Names": [ "condescending_jones", "loving_hoover" ] }, { "Id": "186db739b7509eb0114a09e14bcd16bf637019860d23c4fc20e98cbe068b55aa", "Names": [ "foo_data" ] }, { "Id": "a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19", "Names": [ "jovial_wozniak" ] }, { "Id": "76b71c496556912012c20dc3cbd37a54a1f05bffad3d5e92466900a003fbb623", "Names": [ "bar_data" ] } ] 内部配列に「データ」を含まない sのすべてのオブジェクトを返し、出力が改行で区切られるjqを使用してフィルターを構築しようとしています。上記のデータについて、私が望む出力はIdNames cb94e7a42732b598ad18a8f27454a886c1aa8bbba6167646d8f064cd86191e2b a4b7e6f5752d8dcb906a5901f7ab82e403b9dff4eaaeebea767a04bac4aada19 私はこれに多少近づいていると思います: (. - select(.Names[] contains("data"))) | .[] .Id しかし、selectフィルターは正しくなく、コンパイル(get error: …
238 arrays  json  select  jq  negation 

7
jqを使用してjsonの複数のフィールドを逐次解析して表示する
私はこのJsonを持っています { "users": [ { "first": "Stevie", "last": "Wonder" }, { "first": "Michael", "last": "Jackson" } ] } jqを使用して、姓名をシリアルに表示したいと思います。そのようです - Stevie Wonder Michael Jackson これは私がどこまで得たかです- jq '.users[].first, .users[].last' しかし、それは表示されます "Stevie" "Michael" "Wonder" "Jackson" 次のことに注意してください- 不要な二重引用符。 望まない送料の返却。 乱雑です。私のクエリでは、最初にすべての名が表示され、次にすべての姓が表示されます。しかし、私は最初から最後、最後から最後のペアが欲しいです。
237 json  jq 

3
jqを使用してオブジェクトの変数の値に基づいてオブジェクトを選択する
次のjsonファイルがあります。 { "FOO": { "name": "Donald", "location": "Stockholm" }, "BAR": { "name": "Walt", "location": "Stockholm" }, "BAZ": { "name": "Jack", "location": "Whereever" } } 私はjqを使用しており、「場所」が「ストックホルム」であるオブジェクトの「名前」要素を取得したいと考えています。 私はすべての名前を取得できることを知っています cat json | jq .[] | jq ."name" "Jack" "Walt" "Donald" しかし、サブキーの値(ここでは"location" : "Stockholm")を考えると、特定のオブジェクトのみを印刷する方法がわかりません。
236 json  bash  jq 

2
シェルパイプラインで「jq」を使用する方法
jqシェルパイプラインで「正常に」動作するようには見えません。例えば: $ curl -s https://api.github.com/users/octocat/repos | jq | cat その結果、jqヘルプテキスト*が出力されます。jqの出力をファイルにリダイレクトしようとすると、同じことが起こります。 $ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json されjq、それがttyから実行されていないと判断した場合、意図的に救済しますか?jqパイプラインで使用できるように、この動作を防ぐにはどうすればよいですか? * (この例には猫の役に立たない使い方が含まれていることに気づきました。これは説明のみを目的としています)
195 shell  pipe  jq 

3
コマンドラインを使用してJSONオブジェクトのアイテムを数える方法は?
私はコマンドJSONからこの種の応答を受け取っていcurlます: [ { "cid": 49, "pyn": "yi4", "hans": "亿", "hant": "億", "tid": 68, "l10n": "cent million", "pid": 1, "pos": "num", "pos_txt": "" }, { "cid": 50, "pyn": "yi4", "hans": "亿", "hant": "億", "tid": 69, "l10n": "100 millions", "pid": 1, "pos": "num", "pos_txt": "" } ] またはコマンドライン(例)2を使用して、配列(ここ)の項目数を数えるにはどうすればよいですか?Bashunderscore
179 json  bash  curl  jq 

7
jqを使用してJSONからキー名を取得する方法
curl http://testhost.test.com:8080/application/app/version | jq '.version' | jq '.[]' 上記のコマンドは、以下の値のみを出力します。 "madireddy@test.com" "2323" "test" "02-03-2014-13:41" "application" 以下のようにキー名を取得するにはどうすればよいですか: email versionID context date versionName
128 json  shell  unix  key  jq 

6
jqを使用して2つのファイルから2つのJSONオブジェクトをマージする方法
私が使用しているJQの解析JSONにシェルスクリプトの中で(JQ-JSON-プロセッサ)ツール。 2つのjsonファイルがあり、それらを1つの一意のファイルにマージしたい ここにファイルの内容: file1 { "value1": 200, "timestamp": 1382461861, "value": { "aaa": { "value1": "v1", "value2": "v2" }, "bbb": { "value1": "v1", "value2": "v2" }, "ccc": { "value1": "v1", "value2": "v2" } } } file2 { "status": 200, "timestamp": 1382461861, "value": { "aaa": { "value3": "v3", "value4": 4 }, "bbb": …
123 json  shell  command-line  jq 

1
JQ:複数の条件を選択
私はjsonを使用していて、現時点ではselectを使用して1つの条件に一致するデータのみを取得しています。さらに条件に基づいてフィルタリングする必要があります。 たとえば: .[] | select((.processedBarsVolume <= 5) && .processedBars > 0) どうすればこれを行うことができますか?
112 json  jq 

8
jq selectにbash変数を渡す
から特定の値を取得するスクリプトを作成しましたfile.json。jq selectに値を指定すると機能しますが、変数が機能しないようです(または使用方法がわかりません)。 #!/bin/sh #this works *** projectID=$(cat file.json | jq -r '.resource[] | select(.username=="myemail@hotmail.com") | .id') echo "$projectID" EMAILID=myemail@hotmail.com #this does not work *** no value is printed projectID=$(cat file.json | jq -r '.resource[] | select(.username=="$EMAILID") | .id') echo "$projectID"

5
jqを使用して任意の単純なJSONをCSVに変換する方法は?
jqを使用して、浅いオブジェクトの配列をエンコードする任意のJSONをCSVに変換するにはどうすればよいですか? このサイトには、フィールドをハードコーディングする特定のデータモデルをカバーするQ&Aがたくさんありますが、この質問への回答は、JSONがあれば機能しますが、スカラープロパティを持つオブジェクトの配列(deep / complex /これらを平坦化することは別の問題であるため、サブオブジェクト。結果には、フィールド名を示すヘッダー行が含まれているはずです。最初のオブジェクトのフィールド順序を維持する回答が優先されますが、これは必須ではありません。結果は、すべてのセルを二重引用符で囲むか、引用符が必要なセルのみを囲む場合があります(例: 'a、b')。 例 入力: [ {"code": "NSW", "name": "New South Wales", "level":"state", "country": "AU"}, {"code": "AB", "name": "Alberta", "level":"province", "country": "CA"}, {"code": "ABD", "name": "Aberdeenshire", "level":"council area", "country": "GB"}, {"code": "AK", "name": "Alaska", "level":"state", "country": "US"} ] 可能な出力: code,name,level,country NSW,New South Wales,state,AU AB,Alberta,province,CA ABD,Aberdeenshire,council area,GB AK,Alaska,state,US …
105 json  csv  jq 

3
jqを使用してjsonドキュメントの単一の値を更新するにはどうすればよいですか?
私が非常に明白な何かを見落とした場合の謝罪。私は見つけてjq、それを使用して、周囲のデータに影響を与えずに1つのJSON値を更新しようとしています。 curl結果をにパイプしjq、値を更新し、更新したJSONをにパイプしたいと思いますcurl -X PUT。何かのようなもの curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json これまではを使用してハッキングしてきましたsedが、の|=演算子の例をいくつか見てみると、jqこれらは必要ないと確信しています。 JSONのサンプルを次に示します。JSONの残りの部分を保持しながら、どうやっjqてset を使用するの"local": falseですか? { "shipping": { "local": true, "us": true, "us_rate": { "amount": "0.00", "currency": "USD", "symbol": "$" } } }
103 json  jq 

4
jqで複数のフィールドを選択するにはどうすればよいですか?
私の入力ファイルは次のようになります。 { "login": "dmaxfield", "id": 7449977, ... } { "login": "dmaxfield", "id": 7449977, ... } 私はこれですべてのログイン名を取得できます: cat members | jq '.[].login' しかし、ログインとIDの両方を取得するために構文を解読することができませんでしたか?
102 jq 

2
jqを使用してJSON文字列を解析します
私は次のjqようなJSON構造を解析しようとしています: { "a" : 1, "b" : 2, "c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n" } つまり、JSONの要素は、エスケープされたjsonを含む文字列です。 だから、私はの線に沿って何かを持っています $ jq [.c] myFile.json | jq [.id] しかし、それはでクラッシュします jq: error: Cannot index string with string これは、.cの出力が文字列であり、JSONではないためです。jqにこの文字列を解析させるにはどうすればよいですか? 私の最初のソリューションは、すべてのエスケープ文字を置き換えるためにsedを使用することです(\":\"、\",\"および\")が、厄介者のことを、私はに組み込まれている方法がありますと仮定しjq、これを行うには? ありがとう! 編集:また、ここで利用可能なjqバージョンは次のとおりです。 $ jq --version jq version 1.3 必要に応じて更新できると思います。
91 json  string  sed  escaping  jq 

5
jqを使用してJSON文字列をテーブルとしてフォーマットする方法は?
Bashスクリプトから始めて、JSONを操作するためにjqに出くわしました。 以下のようなJSON文字列をターミナルで出力するためのテーブルに変換する必要があります。 [{ "name": "George", "id": 12, "email": "george@domain.com" }, { "name": "Jack", "id": 18, "email": "jack@domain.com" }, { "name": "Joe", "id": 19, "email": "joe@domain.com" }] ターミナルに表示したいもの: ID Name ================= 12 George 18 Jack 19 Joe 各行のemailプロパティを表示したくないので、jqコマンドにはフィルタリングが含まれている必要があります。以下に、名前とIDのわかりやすいリストを示します。 list=$(echo "$data" | jq -r '.[] | .name, .id') printf "$list" それの問題は、それを表のように表示できないことです。jqにはいくつかのフォーマットオプションがあることは知っていますが、を使用するときのオプションほど良くはありませんprintf。これらの値を配列で取得し、それをループしてフォーマットを実行できるようにしたいと思います...?私が試したことは私にさまざまな結果をもたらしますが、私が本当に望んでいることは決してありません。 誰かが私を正しい方向に向けることができますか?
83 json  bash  jq 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.