精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何用Linux命令行工具解析和格式化輸出JSON

系統 Linux
在這里,我們將使用 Linux 上的命令行工具解析并格式化打印 JSON。它對于在 shell 腳本中處理大型 JSON 數據或在 shell 腳本中處理 JSON 數據非常有用。

[[273057]]

JSON 是一種輕量級且與語言無關的數據存儲格式,易于與大多數編程語言集成,也易于人類理解 —— 當然,如果格式正確的話。JSON 這個詞代表 Java Script Object Notation,雖然它以 JavaScript 開頭,而且主要用于在服務器和瀏覽器之間交換數據,但現在正在用于許多領域,包括嵌入式系統。在這里,我們將使用 Linux 上的命令行工具解析并格式化打印 JSON。它對于在 shell 腳本中處理大型 JSON 數據或在 shell 腳本中處理 JSON 數據非常有用。

什么是格式化輸出?

JSON 數據的結構更具人性化。但是在大多數情況下,JSON 數據會存儲在一行中,甚至沒有行結束字符。

顯然,這對于手動閱讀和編輯不太方便。

這是格式化輸出pretty print就很有用。這個該名稱不言自明:重新格式化 JSON 文本,使人們讀起來更清晰。這被稱為 JSON 格式化輸出

用 Linux 命令行工具解析和格式化輸出 JSON

可以使用命令行文本處理器解析 JSON 數據,例如 awk、sedgerp。實際上 JSON.awk 是一個來做這個的 awk 腳本。但是,也有一些專用工具可用于同一目的。

  1. jqjshon,shell 下的 JSON 解析器,它們都非常有用。
  2. Shell 腳本,如 JSON.shjsonv.sh,用于在 bash、zsh 或 dash shell 中解析JSON。
  3. JSON.awk,JSON 解析器 awk 腳本。
  4. json.tool 這樣的 Python 模塊。
  5. undercore-cli,基于 Node.js 和 javascript。

在本教程中,我只關注 jq,這是一個 shell 下的非常強大的 JSON 解析器,具有高級過濾和腳本編程功能。

JSON 格式化輸出

JSON 數據可能放在一行上使人難以解讀,因此為了使其具有一定的可讀性,JSON 格式化輸出就可用于此目的的。

示例:來自 jsonip.com 的數據,使用 curlwget 工具獲得 JSON 格式的外部 IP 地址,如下所示。

  1. $ wget -cq http://jsonip.com/ -O -

實際數據看起來類似這樣:

  1. {"ip":"111.222.333.444","about":"/about","Pro!":"http://getjsonip.com"}

現在使用 jq 格式化輸出它:

  1. $ wget -cq http://jsonip.com/ -O - | jq '.'

通過 jq 過濾了該結果之后,它應該看起來類似這樣:

  1. {
  2. "ip": "111.222.333.444",
  3. "about": "/about",
  4. "Pro!": "http://getjsonip.com"
  5. }

同樣也可以通過 Python json.tool 模塊做到。示例如下:

  1. $ cat anything.json | python -m json.tool

這種基于 Python 的解決方案對于大多數用戶來說應該沒問題,但是如果沒有預安裝或無法安裝 Python 則不行,比如在嵌入式系統上。

然而,json.tool Python 模塊具有明顯的優勢,它是跨平臺的。因此,你可以在 Windows、Linux 或 Mac OS 上無縫使用它。

如何用 jq 解析 JSON

首先,你需要安裝 jq,它已被大多數 GNU/Linux 發行版選中,并使用各自的軟件包安裝程序命令進行安裝。

在 Arch Linux 上:

  1. $ sudo pacman -S jq

在 Debian、Ubuntu、Linux Mint 上:

  1. $ sudo apt-get install jq

在 Fedora 上:

  1. $ sudo dnf install jq

在 openSUSE 上:

  1. $ sudo zypper install jq

對于其它操作系統或平臺參見官方的安裝指導。

jq 的基本過濾和標識符功能

jq 可以從 STDIN 或文件中讀取 JSON 數據。你可以根據情況使用。

單個符號 . 是最基本的過濾器。這些過濾器也稱為對象標識符-索引。jq 使用單個 . 過濾器基本上相當將輸入的 JSON 文件格式化輸出。

  • 單引號:不必始終使用單引號。但是如果你在一行中組合幾個過濾器,那么你必須使用它們。
  • 雙引號:你必須用兩個雙引號括起任何特殊字符,如 @、$,例如 jq .foo.”@bar”。
  • 原始數據打印:不管出于任何原因,如果你只需要最終解析的數據(不包含在雙引號內),請使用帶有 -r 標志的 jq 命令,如下所示:jq -r .foo.bar。

解析特定數據

要過濾出 JSON 的特定部分,你需要了解格式化輸出的 JSON 文件的數據層次結構。

來自維基百科的 JSON 數據示例:

  1. {
  2. "firstName": "John",
  3. "lastName": "Smith",
  4. "age": 25,
  5. "address": {
  6. "streetAddress": "21 2nd Street",
  7. "city": "New York",
  8. "state": "NY",
  9. "postalCode": "10021"
  10. },
  11. "phoneNumber": [
  12. {
  13. "type": "home",
  14. "number": "212 555-1234"
  15. },
  16. {
  17. "type": "fax",
  18. "number": "646 555-4567"
  19. }
  20. ],
  21. "gender": {
  22. "type": "male"
  23. }
  24. }

我將在本教程中將此 JSON 數據用作示例,將其保存為 sample.json。

假設我想從 sample.json 文件中過濾出地址。所以命令應該是這樣的:

  1. $ jq .address sample.json

示例輸出:

  1. {
  2. "streetAddress": "21 2nd Street",
  3. "city": "New York",
  4. "state": "NY",
  5. "postalCode": "10021"
  6. }

再次,我想要郵政編碼,然后我要添加另一個對象標識符-索引,即另一個過濾器。

  1. $ cat sample.json | jq .address.postalCode

另請注意,過濾器區分大小寫,并且你必須使用完全相同的字符串來獲取有意義的輸出,否則就是 null。

從 JSON 數組中解析元素

JSON 數組的元素包含在方括號內,這無疑是非常通用的。

要解析數組中的元素,你必須使用 [] 標識符以及其他對象標識符索引。

在此示例 JSON 數據中,電話號碼存儲在數組中,要從此數組中獲取所有內容,你只需使用括號,像這個示例:

  1. $ jq .phoneNumber[] sample.json

假設你只想要數組的第一個元素,然后使用從 0 開始的數組對象編號,對于第一個項目,使用 [0],對于下一個項目,它應該每步增加 1。

  1. $ jq .phoneNumber[0] sample.json

腳本編程示例

假設我只想要家庭電話,而不是整個 JSON 數組數據。這就是用 jq 命令腳本編寫的方便之處。

  1. $ cat sample.json | jq -r '.phoneNumber[] | select(.type == "home") | .number'

首先,我將一個過濾器的結果傳遞給另一個,然后使用 select 屬性選擇特定類型的數據,再次將結果傳遞給另一個過濾器。

解釋每種類型的 jq 過濾器和腳本編程超出了本教程的范圍和目的。強烈建議你閱讀 jq 手冊,以便更好地理解下面的內容。

資源:

 【編輯推薦】

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-12-30 08:30:28

Linux命令行json

2023-01-12 09:30:31

Linux命令行xml

2019-06-26 18:30:30

Linux命令行電子郵件

2010-07-16 15:44:57

Perl格式化輸出

2021-11-16 14:25:38

JavaScript前端

2020-12-11 06:44:16

命令行工具開發

2020-12-10 16:16:08

工具代碼開發

2010-08-25 21:03:38

命令行DHCP

2022-11-18 12:47:51

LinuxAWS命令行工具

2019-08-27 10:32:01

Linux操作系統Windows

2018-02-10 17:30:41

Linux命令

2023-04-11 10:37:40

bash命令printf

2020-09-02 07:19:41

printf 格式化輸出Unix

2011-09-06 16:17:50

Ubuntu

2010-07-15 10:47:22

Perl命令行

2009-07-20 09:55:30

華為命令行解析華為認證

2010-08-20 10:05:23

用戶命令

2020-11-01 20:00:26

命令行ShellLinux

2021-08-25 10:55:43

Linux命令工具

2014-02-12 13:30:16

Linux命令行終端工具
點贊
收藏

51CTO技術棧公眾號

亚洲av无码国产精品麻豆天美| 欧美图片激情小说| 国产又粗又猛又爽又黄视频| 女生裸体视频一区二区三区| 亚洲国产精品网站| wwwwww.色| 伦理av在线| 欧美国产欧美综合| av免费精品一区二区三区| 欧美 日韩 精品| 97精品国产| 精品偷拍各种wc美女嘘嘘| 91精品999| 在线观看爽视频| 亚洲欧美激情插| 免费看成人午夜电影| av男人天堂网| 日韩精品电影在线| 午夜免费在线观看精品视频| 欧美色视频一区二区三区在线观看| 国产乱人伦丫前精品视频| 欧美曰成人黄网| 凹凸国产熟女精品视频| av网站在线免费看推荐| 国产日韩一级二级三级| 国产免费高清一区| 国产三级伦理片| 日本午夜精品视频在线观看 | 久久伦理网站| www精品国产| 久久国产精品色| 国产精品 欧美在线| 日本污视频在线观看| 99精品在线| 在线不卡国产精品| 成人国产精品久久久网站| 国产精品美女在线观看直播| 91精品久久久久久久91蜜桃| 日韩一级理论片| 国产精品专区免费| 欧美日韩国产丝袜另类| 青草视频在线观看视频| av官网在线播放| 亚洲欧美日韩电影| 亚洲第一精品区| 黄色网址在线免费播放| 国产精品午夜春色av| 色综合影院在线观看| 国产中文字幕在线播放| 久久青草欧美一区二区三区| 久久久亚洲综合网站| 日韩美女一级视频| www久久久久| 麻豆av一区二区| 黄色在线小视频| 国产日韩三级在线| 亚洲一区免费看| 日本三级在线播放完整版| 国产精品毛片无遮挡高清| 亚洲国产精品日韩| 免费在线毛片网站| 亚洲人123区| 91传媒免费视频| 国产高清在线a视频大全 | 缅甸午夜性猛交xxxx| 黄视频免费在线看| 亚洲成人7777| 男女av免费观看| yiren22亚洲综合| 欧美日韩视频在线一区二区 | 成人在线一区二区三区| 国产精品污www一区二区三区| 欧美特级特黄aaaaaa在线看| 99国产欧美另类久久久精品 | 男人网站在线观看| 午夜a一级毛片亚洲欧洲| 精品粉嫩超白一线天av| 亚洲精品久久久久久| 精品人人人人| 欲色天天网综合久久| 婷婷社区五月天| 黄色日韩精品| 日韩美女免费观看| 国产人妖在线播放| 97久久超碰国产精品| 亚洲成人蜜桃| 啦啦啦中文在线观看日本| 精品欧美aⅴ在线网站| 在线观看的毛片| 一区二区日韩| 国产亚洲精品久久久久久777| 日本 欧美 国产| 亚洲人成免费| 国产在线日韩在线| 女人18毛片水真多18精品| 91视频免费观看| gogogo免费高清日本写真| 久草在线资源站手机版| 欧美浪妇xxxx高跟鞋交| 欲求不满的岳中文字幕| 欧美综合一区| 国内外成人免费激情在线视频| 中文永久免费观看| 成人精品一区二区三区四区| 午夜精品福利一区二区| 国产www视频在线观看| 欧美手机在线视频| 一级特级黄色片| 亚洲精品小说| 国产成人jvid在线播放| 亚洲精品字幕在线| 亚洲国产精品成人综合色在线婷婷| 老司机激情视频| 成人在线免费| 精品网站999www| 国产真实夫妇交换视频| 极品美女销魂一区二区三区| 久久久久资源| 电影k8一区二区三区久久| 欧美日韩精品免费观看视频| theav精尽人亡av| 国产精品草草| 亚洲一区二区三区毛片| 亚洲成人三级| 色八戒一区二区三区| 中国一级特黄录像播放| 欧美日韩国产欧| 成人妇女免费播放久久久| 黄色av网站在线免费观看| 亚洲成人av免费| 性活交片大全免费看| 2023国产精品久久久精品双| 国产精品久久久久久久久久尿| 五月婷婷丁香花| 亚洲成人午夜电影| 性高潮免费视频| 午夜天堂精品久久久久| 亚洲综合中文字幕在线| 黄色片网站在线| 欧美美女一区二区在线观看| 国产黄色大片免费看| 久久精品官网| 欧美韩国日本精品一区二区三区| 九色porny自拍视频在线播放| 亚洲电影天堂av| 日本三级网站在线观看| 成人白浆超碰人人人人| 九色自拍视频在线观看| www.爱久久| 97成人精品区在线播放| 天天射,天天干| 欧美视频中文字幕在线| 亚洲av无码成人精品国产| 亚洲欧美卡通另类91av| 欧美精品人人做人人爱视频| 亚洲三级欧美| 国产亚洲成精品久久| 五月婷婷丁香在线| 国产精品国产三级国产普通话99 | 久久亚洲二区三区| 妞干网在线免费视频| 欧美自拍偷拍| 亚洲在线www| 超碰在线中文字幕| 亚洲丝袜一区在线| 夜夜爽8888| 一区二区三区精品久久久| 色悠悠在线视频| 亚洲欧美日韩国产一区| 午夜精品亚洲一区二区三区嫩草 | 国产又粗又爽又黄的视频| 精品视频在线观看网站| 高清一区二区三区日本久| 九九在线视频| 欧美高清视频www夜色资源网| 欧美日韩一级在线观看| 91麻豆蜜桃一区二区三区| 爱情岛论坛成人| 亚洲女同中文字幕| 久久av免费一区| 国产精品第一| 久久久久国产精品免费网站| 久久精品国产亚洲a∨麻豆| 欧美日韩高清一区二区| 精品无码久久久久久久| 久久九九久精品国产免费直播| 一区二区三区欧美精品| 亚洲激情欧美| 中文字幕日韩精品久久| 精品精品国产三级a∨在线| 国产精品久久久久aaaa九色| 色老头在线观看| 亚洲人成毛片在线播放| 北条麻妃一二三区| 色视频成人在线观看免| 免费在线视频观看| 欧美国产一区在线| 在线xxxxx| 激情五月婷婷综合| 国产91美女视频| 欧美极品一区二区三区| 日韩国产精品一区二区| 久久香蕉精品香蕉| 91免费高清视频| 精品视频在线一区二区在线| 欧美激情一级欧美精品| 秋霞午夜在线观看| 亚洲欧美国产va在线影院| 精品久久久久久亚洲综合网站 | 日韩一卡二卡在线| 在线播放91灌醉迷j高跟美女| 国产午夜免费福利| 亚洲在线成人精品| 国内毛片毛片毛片毛片毛片| 国产亚洲婷婷免费| 香港三级日本三级| 成人午夜电影网站| 波多野结衣在线免费观看| 奇米影视7777精品一区二区| 国产亚洲综合视频| 亚洲黄色影片| 欧美精品一区二区三区三州| 欧美在线精品一区| 中文字幕在线亚洲三区| 日本大胆欧美| 视频在线99re| 久久99影视| 蜜桃臀一区二区三区| 极品国产人妖chinesets亚洲人妖| 亚洲一区二区三区乱码aⅴ| 性欧美video另类hd尤物| 国产精品九九九| 日韩精品一区二区三区| 欧美中在线观看| 免费成人在线电影| 国语自产在线不卡| 九九精品调教| 久久久亚洲欧洲日产国码aⅴ| 日韩欧美一起| 欧美国产精品va在线观看| 中文字幕在线观看播放| 久久av中文字幕| 亚洲第一图区| 欧美高清视频在线观看| 成人影院在线播放| 午夜精品福利在线观看| 人在线成免费视频| 日本欧美国产在线| av激情成人网| 国产欧美在线看| www.久久久久爱免| av一区二区三区在线观看| 成人福利一区| 久久亚洲免费| 欧洲乱码伦视频免费| 亚洲欧美日韩不卡一区二区三区| 91日韩免费| 91视频成人免费| 亚洲图片在线| 茄子视频成人免费观看| www.xxx麻豆| 在线亚洲激情| 91国产精品视频在线观看| 久久精品国产99国产精品| 婷婷激情小说网| 成人精品视频网站| 免费观看a级片| 中文字幕亚洲电影| 久一区二区三区| 色综合中文综合网| 亚洲特级黄色片| 欧美xxxx在线观看| 九色视频在线观看免费播放 | 深田咏美在线x99av| 91精品一区二区三区综合| av免费看网址| 秋霞影院一区二区| 91人妻一区二区| 国产日韩欧美综合在线| 国产精品白嫩白嫩大学美女| 狠狠干狠狠久久| 一区二区不卡视频在线观看| 精品久久久久久久一区二区蜜臀| 韩国中文免费在线视频| 欧美精品亚州精品| 中国字幕a在线看韩国电影| 国产中文字幕日韩| 美女视频亚洲色图| 一区二区三区的久久的视频| 亚洲日本免费| 182午夜视频| 91免费观看视频| 岛国毛片在线观看| 日本韩国欧美三级| 成人毛片在线精品国产| 国产午夜精品一区二区三区 | 国外av在线| 欧美日韩xxxxx| 成人在线免费av| 欧美动漫一区二区| 欧美日韩日本国产亚洲在线| caoporn超碰97| 不卡一区二区中文字幕| 色婷婷粉嫩av| 色噜噜狠狠成人网p站| 亚洲国产999| 久久精品亚洲精品| 日韩av免费| 精品网站在线看| 欧美午夜一区| 一本一道久久a久久综合蜜桃| 久久婷婷久久一区二区三区| 久久久久亚洲av片无码下载蜜桃| 精品视频在线免费看| 深夜福利在线观看直播| 欧美另类极品videosbest最新版本 | 国产对白叫床清晰在线播放| 欧美激情视频网| 国产不卡精品| 永久域名在线精品| 青青草伊人久久| 波多野结衣av在线观看| 狠狠躁夜夜躁人人爽超碰91| 精品国产va久久久久久久| 日韩在线高清视频| 欧美aaa级| 亚洲欧洲日韩综合二区| 日韩国产高清影视| 成人免费网站黄| 日韩欧美精品网址| 亚洲av成人无码网天堂| 韩国v欧美v日本v亚洲| 第四色中文综合网| 高清无码视频直接看| 国产黄色精品视频| 欧美精品一区二区蜜桃| 日韩欧美在线观看一区二区三区| 毛片在线视频| 91久久久久久久| 亚洲免费二区| www.四虎精品| 午夜精品免费在线| 日本私人网站在线观看| 欧洲成人在线观看| 综合国产视频| 簧片在线免费看| 国产精品成人在线观看| a毛片在线免费观看| 欧美日韩国产成人在线观看| y111111国产精品久久久| 国产在线xxxx| 99riav一区二区三区| 中文字幕一区在线播放| 国产亚洲a∨片在线观看| 激情久久一区二区| 亚洲区成人777777精品| 国产成人av影院| 91精品国产乱码久久久张津瑜| 精品无人国产偷自产在线| 国精产品一区二区三区有限公司| 日产中文字幕在线精品一区 | 在线视频综合导航| 在线免费黄色| 91日韩在线播放| 亚洲黄色一区| 久久中文字幕精品| 欧美一区二区视频网站| 草美女在线观看| 日韩理论片在线观看| 国内外成人在线视频| 黄色小视频在线免费看| 亚洲欧美综合v| 国产精品毛片aⅴ一区二区三区| 成人av在线不卡| 久久老女人爱爱| 91tv国产成人福利| 久久久久久久久久亚洲| 国产精品日韩精品中文字幕| 爱豆国产剧免费观看大全剧苏畅 | 国产精品欧美激情在线| 久久久久久香蕉网| 第一sis亚洲原创| jjzz黄色片| 欧美色欧美亚洲另类二区| 国产后进白嫩翘臀在线观看视频| 奇米影视首页 狠狠色丁香婷婷久久综合 | 99re视频在线播放| 首页国产欧美日韩丝袜| 91porn在线视频| 亚洲欧美精品一区二区| 国产精品高清一区二区| 日韩黄色片视频| 亚洲免费av高清| 国产视频第一页在线观看| 91超碰在线电影| 日本大胆欧美人术艺术动态 | 在线āv视频| 欧美一区二区三区四区夜夜大片| 国产伦精品一区二区三区免费迷 | 国产成人无遮挡在线视频|