Questions tagged «jq»

有关命令行JSON处理工具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文件: …
57 bash  python  csv  json  jq 

1
如何使用jq standalone进行prettyprint json?
当前,当我想使用jq漂亮打印json文件时,我使用: cat file.json | grep jq . 但是我希望jq可以接受文件名作为参数而不必回退cat。 手册页显示: jq [选项...]过滤器[文件...] ...默认情况下,jq从stdin读取JSON对象流(以空格分隔)。可以指定一个或多个文件,在这种情况下,jq将从这些文件中读取输入。 尚未运行: jq file.json 由于抛出未定义键的编译错误而失败。 运行时我应该如何添加文件jq?

2
如何将嵌入的(引用的)json字符串转换为json
我熟悉用于解析json的“ jq”。 我使用一种服务来生成json响应,其中属性之一本身就是json字符串。如何将引用的值转换为有效的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 …
22 json  jq 

4
JSON数组使用jq来bash变量
我有一个像这样的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在那里需要一个或一个东西,但似乎无法将手指放在上面。
19 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 什么都不产生。如何更改此设置,以便为用户名变量分配输出?
17 bash  curl  json  jq 

2
jq子对象中所有对象的打印键和值
我发现此Q / A解决方案可以打印对象中的所有键: jq -r 'keys[] as $k | "\($k), \(.[$k] | .ip)"' 就我而言,我想对子对象执行以上操作: jq -r '.connections keys[] as $k | "\($k), \(.[$k] | .ip)"' 正确的语法是什么?
13 json  jq 

2
在管道链中使用jq不会产生任何输出
jq网上讨论了重定向输出时需要显式过滤器的问题。但是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 …

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一线+如何仅打印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数据时出现错误消息“无法使用字符串'标题'索引数组”
{ "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 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.