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

6
jqを使用して値を抽出し、CSVでフォーマットする
以下のJSONファイルがあります。 { "data": [ { "displayName": "First Name", "rank": 1, "value": "VALUE" }, { "displayName": "Last Name", "rank": 2, "value": "VALUE" }, { "displayName": "Position", "rank": 3, "value": "VALUE" }, { "displayName": "Company Name", "rank": 4, "value": "VALUE" }, { "displayName": "Country", "rank": 5, "value": "VALUE" }, ] } この形式のCSVファイルが欲しいです。 …
58 bash  python  csv  json  jq 

1
jqスタンドアロンを使用してjsonをprettyprintする方法は?
現在、jqを使用してjsonファイルをきれいに印刷したい場合、次を使用します。 cat file.json | grep jq . それでも、私はjq、フォールバックすることなく引数としてファイル名を受け入れることを期待するでしょうcat。 マニュアルページには次のように書かれています: jq [オプション...]フィルター[ファイル...] ...デフォルトでは、jqは標準入力からJSONオブジェクトのストリーム(空白で区切られている)を読み取ります。1つ以上のファイルを指定できます。その場合、jqは代わりにそれらから入力を読み取ります。 まだ実行中: jq file.json キーが定義されていないコンパイルエラーをスローして失敗します。 実行中にファイルを追加するにはどうすればよいですjqか?

2
埋め込まれた(引用符で囲まれた)JSON文字列をJSONに変換する方法
jsonを解析するための「jq」に精通しています。 私は、プロパティの1つがそれ自体がjson文字列であるjson応答を生成する1つのサービスを使用しています。引用符で囲まれた値を有効なjson文字列に変換して、jqで処理できるようにするにはどうすればよいですか? たとえば、「jq」から単純にきれいに印刷されたjsonを表示する場合、出力の短い抜粋を次に示します。 "someJsonString": "{\"date\":\"2018-01-08\", ... jqを使用してそのプロパティの値を取得できますが、引用符で囲まれた文字列を「アンエスケープ」して有効なjsonに変換する必要があります。 パイプをsedにパイプして、開始と終了の二重引用符を削除し、すべてのバックスラッシュ( " sed -e 's/^"//' -e 's/"$//' -e 's/\\//g'")を削除できると思います。それはうまくいくようですが、それは最も堅牢なソリューションのようには見えません。 更新: 私がやっていることをもう少し明確にするために、私が試したことを示すいくつかの省略されたサンプルがあります: % curl -s -q -L 'http://.../1524.json' | jq '.results[0].someJsonString' | jq . "{\"date\":\"2018-01-08\",... % echo $(curl -s -q -L 'http:/.../1524.json' | jq '.results[0].someJsonString') | jq . "{\"date\":\"2018-01-08\",... 更新: 完全にスタンドアロンの例を次に示します。 % cat stuff.json …
22 json  jq 

4
jqを使用して変数をbashするJSON配列
私はそのようなJSON配列を持っています: { "SITE_DATA": { "URL": "example.com", "AUTHOR": "John Doe", "CREATED": "10/22/2017" } } jqを使用してこの配列を反復処理して、各項目のキーを変数名として、値を値として設定できるようにしたいと考えています。 例: URL = "example.com" AUTHOR = "John Doe" CREATED = "10/22/2017" これまでのところ、配列を反復処理しますが、文字列を作成します。 constants=$(cat ${1} | jq '.SITE_DATA' | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]") どの出力: URL=example.com AUTHOR=John Doe CREATED=10/22/2017 これらの変数をスクリプトのさらに下で使用したいと考えています。 echo ${URL} しかし、これは現時点では空の出力をエコーし​​ます。私はevalそこに何かが必要だと思いますが、指をその上に置くことができないようです。
18 bash  jq 

3
jq出力をBash変数に設定する
curlを使用して、次のようにRESTのAPIからJSONを取得しています。 content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc) echo "${content}"| jq -r '.data.value' これは私が必要とする価値を生み出します。しかしながら; 上記のコードを次のように変更すると: content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc) username=$(echo "${content}"| jq -r '.data.value') echo $username 何も生成しません。これを変更して、username変数に出力が割り当てられるようにするにはどうすればよいですか?
17 bash  curl  json  jq 

2
パイプチェーン内でjqを使用しても出力が生成されない
jq出力がリダイレクトされるときに明示的なフィルターが必要な問題は、Web全体で説明されています。しかしjq、明示的なフィルターが使用されている場合でも、パイプチェーンの一部である場合、出力をリダイレクトできません。 考慮してください: touch in.txt tail -f in.txt | jq '.f1' # in a different terminal: echo '{"f1":1,"f2":2}' >> in.txt echo '{"f1":3,"f2":2}' >> in.txt 予想どおり、jqコマンドからの元の端末の出力は次のとおりです。 1 3 ただし、jqコマンドの最後に何らかのリダイレクトまたはパイピングを追加すると、出力はサイレントになります。 rm in.txt touch in.txt tail -f in.txt | jq '.f1' | tee out.txt # in a different terminal: echo '{"f1":1,"f2":2}' >> in.txt echo …

2
サブオブジェクト内のすべてのjq印刷キーと値
オブジェクト内のすべてのキーを出力するためのソリューションを備えたこのQ / Aを見つけました。 jq -r 'keys[] as $k | "\($k), \(.[$k] | .ip)"' 私の場合、上記を実行したいのですが、サブオブジェクトに対して: jq -r '.connections keys[] as $k | "\($k), \(.[$k] | .ip)"' これを行うための適切な構文は何ですか?
12 json  jq 

4
すべての数値をJSONで引用符で囲みます
数値を含むJSONデータがあります。すべての数値を文字列に変換する方法は?(引用符で囲む) 例: { "id":1, "customer":"user", "plate":"BMT-216-A", "country":"GB", "amount":1000, "pndNumber":20000, "zoneNumber":4 } なるはず { "id":"1", "customer":"user", "plate":"BMT-216-A", "country":"GB", "amount":"1000", "pndNumber":"20000", "zoneNumber":"4" }
11 shell  json  jq 

5
awk / sed / perl one liner + jsonファイルからプロパティ行のみを印刷する方法
jsonファイルからプロパティ行のみを印刷する方法 jsonファイルの例 { "href" : "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610", "items" : [ { "href" : "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610", "tag" : "version1527250007610", "type" : "kafka-env", "version" : 8, "Config" : { "cluster_name" : "HDP", "stack_id" : "HDP-2.6" }, "properties" : { "content" : "\n#!/bin/bash\n\n# Set KAFKA specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}\nexport …
10 awk  sed  perl  json  jq 

1
jqでJSONデータを解析すると、エラーメッセージ「文字列 'Title'の配列にインデックスを付けることができません」
{ "content": [ { "Title": "abc", "brand": "xyz", "size": "5 g", "date": "2019-01-01", "details": { "Temperature": [ { "value": "90", "characteristics":"Normal" }, { "value":"100", "characteristics":"high" }, { "value":"80", "characteristics":"low" } ], "certifications": [ { "value": "based", "characteristics":"pass" }, { "value": "50", "characteristics":"failed" } ] }, "formats": { "city": "NYC", "id": …
9 jq 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.