Questions tagged «json»

JSON(JavaScript对象表示法)是一种轻量级的数据表示格式,类似于JavaScript源,可以很容易地由机器将其变为红色,并由人工进行一些编辑。

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 

9
如何在Linux中使用Shell脚本解析JSON?
我有一个JSON输出,需要从Linux中提取一些参数。 这是JSON输出: { "OwnerId": "121456789127", "ReservationId": "r-48465168", "Groups": [], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "RootDeviceType": "ebs", "State": { "Code": 16, "Name": "running" }, "EbsOptimized": false, "LaunchTime": "2014-03-19T09:16:56.000Z", "PrivateIpAddress": "10.250.171.248", "ProductCodes": [ { "ProductCodeId": "aacglxeowvn5hy8sznltowyqe", "ProductCodeType": "marketplace" } ], "VpcId": "vpc-86bab0e4", "StateTransitionReason": null, "InstanceId": "i-1234576", "ImageId": …


4
将grep上下文限制为N个字符
我必须遍历某些JSON文件,其中行长超过几千个字符。如何限制grep在匹配的左右两侧最多显示N个字符的上下文?只要grep可以在常见的Linux软件包中使用,除grep以外的任何其他工具都可以。 这将是虚拟grep开关Ф的示例输出: $ grep -r foo * hello.txt: Once upon a time a big foo came out of the woods. $ grep -Ф 10 -r foo * hello.txt: ime a big foo came of t
31 grep  search  json 

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 

8
使用Python解析JSON?
我有一个JSON文件members.json,如下所示。 { "took": 670, "timed_out": false, "_shards": { "total": 8, "successful": 8, "failed": 0 }, "hits": { "total": 74, "max_score": 1, "hits": [ { "_index": "2000_270_0", "_type": "Medical", "_id": "02:17447847049147026174478:174159", "_score": 1, "_source": { "memberId": "0x7b93910446f91928e23e1043dfdf5bcf", "memberFirstName": "Uri", "memberMiddleName": "Prayag", "memberLastName": "Dubofsky" } }, { "_index": "2000_270_0", "_type": "Medical", "_id": …
18 bash  python  json 

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 

5
如何从JSON文件提取数据
我有bin在寻找解决方案来解决我的问题,但找不到或更好的说我没有得到所找到的解决方案。因此,让我们谈谈我的问题是什么。我在Raspberry Pi上使用了智能家居控制软件,正如本周末我发现的那样,我可以使用pilight-receive来捕获室外温度传感器的数据。pilight-receive的输出如下所示: { "message": { "id": 4095, "temperature": 409.5 }, "origin": "receiver", "protocol": "alecto_wsd17", "uuid": "0000-b8-27-eb-0f3db7", "repeats": 3 } { "message": { "id": 1490, "temperature": 25.1, "humidity": 40.0, "battery": 1 }, "origin": "receiver", "protocol": "alecto_ws1700", "uuid": "0000-b8-27-eb-0f3db7", "repeats": 3 } { "message": { "id": 2039, "temperature": 409.5 }, "origin": "receiver", …

4
将JSON数组中的一个字段解析为bash数组
我有一个JSON输出,其中包含存储在变量中的对象列表。(我可能没有这样说的权利) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] } ] 我需要数组中的item2的所有值,以便bash脚本在ubuntu 14.04.1。上运行。 我发现了很多方法可以将整个结果放入数组,而不仅仅是我需要的项目

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

1
在json.tool上找不到文档
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 3年前关闭。 我可以在网上找到分散的文章,这些文章使用json.tool生成漂亮的python,但没有关于用法的清晰文档。我检查了docs.python。但是没有json.tool的正式文档。 我有几个工作流程(由其他人编写),它们使用json.tool来验证json,但是我也看到过一些警告json.tool并不总是产生有效json的帖子。所以我想更多地了解json.tool的工作原理。 任何人都可以在json.tool上推荐包含清晰,全面文档的地方吗?
12 python  json 

4
为什么heredoc中的JSON内容不可解析?
我有一个JSON片段。 以下内容不起作用: VALUE=<<PERSON { "type": "account", "customer_id": "1234", "customer_email": "jim@gmail.com" } PERSON echo -n "$VALUE" | python -m json.tool 结果是: JSON对象无法解码 对进行相同的操作jq,即 echo -n "$VALUE" | jq '.' 没有输出。 对于以下情况,存在相同的行为: VALUE=<<PERSON '{ "type": "account", "customer_id": "1234", "customer_email": "jim@gmail.com" }' PERSON echo -n "$VALUE" | python -m json.tool 响应: JSON对象无法解码 但是以下工作原理: …

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 

2
在外壳上进行JSON解析
如何解析Shell上的JSON输出? 例如,Amazon Web Services提供了一个CLI来检索实例的状态: $ aws ec2 describe-instances <my_instance_id> 但是该命令返回JSON字符串。该命令的输出如下所示: $ aws ec2 describe-instances x12345 { "Reservations" : { "OwnerId": "1345345" "Groups": [], "SecurityGroups": [ { "Foo" : "yes" "Bar" : "no } ] } } 是否有可用于解析JSON输出的shell内置程序? 例如,我想在shell变量中捕获FOO以下内容output["Reservations"]["SecurityGroups"][0]{"Foo"}。 如果有帮助,我对Zsh可能适用的解决方案特别感兴趣。
11 zsh  string  json 

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.