JSON 命令行格式化工具【最好用的json格式化工具】

灰太狼 2021-03-15 12:30 938阅读 0赞

1. jq 命令参数

参数 说明
-c 合并数据输出
-n 使用null作为输入的值
-e 根据输出设置退出状态码
-s 将内容作为一个数组; 应用过滤
-r 输出raw而不是json
-R 读取raw而不是json
-C 色彩化json
-M 非色彩化json
-S 输出时根据对象的keys排序
—tab 使用tab键缩进
—arg a v 给变量a设置值
—argjson a v 设置变量a的值为json值
—slurpfile a f 读取json文本作为数组来当做变量$a的值
  1. [{"name":"aox.lei","url":"http://www.phpue.com","address":{"city":"北京","country":"中国"},"arrayiiirowser":[{"name":"Google","url":"http://www.google.com"},{"name":"Baidu","url":"http://www.baidu.com"}]},{"name":"aox.lei.blog","url":"http://www.phpue.com","address":{"city":"北京","country":"中国"},"arrayBrowser":[{"name":"百度","url":"http://www.baidu.com"},{"name":"bing","url":"http://iiiiiiiwww.bing.com"}]}]

将数据保存在1.json中

2. 格式化json数据

jq . file_path
. 的意思是所有数据, 不过滤

  1. cat 1.json | jq
  2. # 或者
  3. jq . 1.json

返回数据

  1. [
  2. {
  3. "name": "aox.lei",
  4. "url": "http://www.phpue.com",
  5. "address": {
  6. "city": "北京",
  7. "country": "中国"
  8. },
  9. "arrayBrowser": [
  10. {
  11. "name": "Google",
  12. "url": "http://www.google.com"
  13. },
  14. {
  15. "name": "Baidu",
  16. "url": "http://www.baidu.com"
  17. }
  18. ]
  19. },
  20. {
  21. "name": "aox.lei.blog",
  22. "url": "http://www.phpue.com",
  23. "address": {
  24. "city": "北京",
  25. "country": "中国"
  26. },
  27. "arrayBrowser": [
  28. {
  29. "name": "百度",
  30. "url": "http://www.baidu.com"
  31. },
  32. {
  33. "name": "bing",
  34. "url": "http://www.bing.com"
  35. }
  36. ]
  37. }
  38. ]

3. 根据index获取数据

  1. jq '.[0]' 1.json

.[0] 的意思是获取下标是0的数据
返回数据:

  1. {
  2. "name": "aox.lei",
  3. "url": "http://www.phpue.com",
  4. "address": {
  5. "city": "北京",
  6. "country": "中国"
  7. },
  8. "arrayBrowser": [
  9. {
  10. "name": "Google",
  11. "url": "http://www.google.com"
  12. },
  13. {
  14. "name": "Baidu",
  15. "url": "http://www.baidu.com"
  16. }
  17. ]
  18. }

1. 截取数据

  1. jq '.[0-2]' 1.json

返回数据

  1. [
  2. {
  3. "name": "aox.lei",
  4. "url": "http://www.phpue.com",
  5. "address": {
  6. "city": "北京",
  7. "country": "中国"
  8. },
  9. "arrayBrowser": [
  10. {
  11. "name": "Google",
  12. "url": "http://www.google.com"
  13. },
  14. {
  15. "name": "Baidu",
  16. "url": "http://www.baidu.com"
  17. }
  18. ]
  19. },
  20. {
  21. "name": "aox.lei.blog",
  22. "url": "http://www.phpue.com",
  23. "address": {
  24. "city": "北京",
  25. "country": "中国"
  26. },
  27. "arrayBrowser": [
  28. {
  29. "name": "百度",
  30. "url": "http://www.baidu.com"
  31. },
  32. {
  33. "name": "bing",
  34. "url": "http://www.bing.com"
  35. }
  36. ]
  37. }
  38. ]

4. 管道符的使用

  1. jq '.[0] | {name:.name, url:.url}' 1.json

意思是将.[0]的数据重新格式化, 赋值生成新的一个json, 这样可以过滤掉没用的数据, 方便查看
返回数据

  1. {
  2. "name": "aox.lei",
  3. "url": "http://www.phpue.com"
  4. }
  5. jq '.[] | {name:.name, url:.url}' 1.json

返回数据

  1. {
  2. "name": "aox.lei",
  3. "url": "http://www.phpue.com"
  4. }
  5. {
  6. "name": "aox.lei.blog",
  7. "url": "http://www.phpue.com"
  8. }

5. 获取元素个数

  1. jq '.[] | length' 1.json

返回数据

  1. 4
  2. 4

6. keys操作

1. 获取keys

  1. jq 'keys' 1.json

返回数据

  1. [
  2. 0,
  3. 1
  4. ]

2. 判断key是否存在 has(key)

  1. jq 'map(has("name"))' 1.json

返回数据

  1. [
  2. true,
  3. true
  4. ]

发表评论

表情:
评论列表 (有 0 条评论,938人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JSON格式化工具

    > 格式化JSON有多种方式,选两种。 1.在线JSON格式化 我喜欢用这个网站:[在线JSON工具][JSON] 2.Notepad++插件 需要插件 - J

    相关 Json格式化工具类JsonUtil

    Json格式的数据现在已经算是非常通用了,大部分公司的前后端交互的数据格式首选就是json格式的数据,这个工具类JsonUtil可以满足工作中的大部分需求。 impo