国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
使用jq的基本語(yǔ)法
從嵌套對(duì)像中提取值
處理JSON中的陣列
格式化輸出以用於腳本
首頁(yè) 系統(tǒng)教程 Linux 如何使用JQ從外殼腳本中解析JSON?

如何使用JQ從外殼腳本中解析JSON?

Jul 08, 2025 am 12:13 AM
json jq

要使用JQ在Shell腳本中解析JSON,您可以利用其過(guò)濾語(yǔ)法從結(jié)構(gòu)化數(shù)據(jù)中提取值。首先將JSON輸入輸入到JQ或指定文件,例如echo'{“ name”:“ alice”}'| jq'.name'或jq'.name'data.json,它提取“名稱”鍵的值。對(duì)於{“ user”:{“ delect”:{“ name”:“ bob”}}}之類的嵌套對(duì)象,請(qǐng)使用點(diǎn)符號(hào):jq'.user.details.name'data.json。處理數(shù)組時(shí),例如{“用戶”:[{“ name”:“ alice”},{“ name”:“ bob”}]},使用jq'.users []。 name'data.json檢索所有名稱,或通過(guò)index:jq'.users:jq'users [0] .name data.json訪問(wèn)特定元素。要在腳本中進(jìn)一步處理結(jié)果,請(qǐng)使用-r標(biāo)誌進(jìn)行原始輸出,並使用字符串插值組合字段:JQ -R'“名稱:$(。user.details.name),電子郵件:$($(。user.details.email)”'data.json。使用這些方法,JQ簡(jiǎn)化了殼環(huán)境中的JSON解析和操縱。

如何使用JQ從外殼腳本中解析JSON?

默認(rèn)情況下,在Shell腳本中解析JSON並不是一件直接的,但是使用jq ,它既容易又強(qiáng)大。關(guān)鍵是知道如何構(gòu)建命令,以便從JSON數(shù)據(jù)中精確提取所需的內(nèi)容。


使用jq的基本語(yǔ)法

使用jq基本方法是將JSON數(shù)據(jù)輸送到其中或指定文件。這是一般形式:

 JQ'[filter]'[文件]

或者,如果您要管數(shù)據(jù):

 echo'{“ name”:“ alice”}'| jq'.name'

這將輸出:

 “愛(ài)麗絲”

您可以看到.name是這裡的過(guò)濾器 - 它告訴jq要提取哪個(gè)字段。

如果您正在使用JSON文件( data.json ),則會(huì)做類似的事情:

 JQ'.NAME'DATA.JSON

從嵌套對(duì)像中提取值

JSON通常包含嵌套結(jié)構(gòu)。假設(shè)您有這樣的數(shù)據(jù):

 {
  “用戶”:{
    “ id”:123,
    “細(xì)節(jié)”: {
      “名稱”:“鮑勃”,
      “電子郵件”:“ bob@example.com”
    }
  }
}

為了獲取名稱,您將鍵鍊鍊鍊鍊接在一起:

 jq'.user.details.name'data.json

那將返回:

 “鮑勃”

您無(wú)需編寫特殊的解析代碼,只需使用點(diǎn)符號(hào)構(gòu)建正確的路徑即可。


處理JSON中的陣列

一個(gè)常見(jiàn)的情況是當(dāng)一個(gè)值在數(shù)組中時(shí)。例如:

 {
  “用戶”:[
    {“名稱”:“ Alice”},
    {“名稱”:“鮑勃”}
  這是給出的
}

獲取所有名稱:

 jq'.users []。名稱'data.json

輸出:

 “愛(ài)麗絲”
“鮑勃”

如果您只需要名字:

 JQ'.users [0] .NAME'data.json

給出:

 “愛(ài)麗絲”

您也可以在腳本中循環(huán)瀏覽它們:

 jq -r'.users []。名稱'data.json |在閱讀名稱時(shí);做
  迴聲“用戶:$ name”
完畢
  • -r告訴jq輸出原始字符串(無(wú)引號(hào))。

格式化輸出以用於腳本

有時(shí),您需要無(wú)引用或額外格式的清潔值。這就是-r旗派上用場(chǎng)的地方。

例如:

 jq -r'.user.details.name'data.json

返回:

鮑勃

沒(méi)有引號(hào),這使得更容易分配到變量或進(jìn)一步的shell腳本中。

另外,如果要組合多個(gè)字段,則可以使用字符串插值格式化它們:

 jq -r'“名稱:\(。user.details.name),電子郵件:\(。user.details.email)”'data.json

輸出:

名稱:鮑勃,電子郵件:bob@example.com

這使得直接從JSON生成日誌線或消息變得簡(jiǎn)單。


因此,基本上,一旦您了解如何使用過(guò)濾器導(dǎo)航結(jié)構(gòu), jq就成為處理Shell腳本中JSON的可靠工具。這並不復(fù)雜,但是正確獲得語(yǔ)法有助於避免以後沮喪。

以上是如何使用JQ從外殼腳本中解析JSON?的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
PHP 數(shù)組轉(zhuǎn) JSON 的效能最佳化技巧 PHP 數(shù)組轉(zhuǎn) JSON 的效能最佳化技巧 May 04, 2024 pm 06:15 PM

PHP數(shù)組轉(zhuǎn)JSON的效能最佳化方法包括:使用JSON擴(kuò)充和json_encode()函數(shù);新增JSON_UNESCAPED_UNICODE選項(xiàng)以避免字元轉(zhuǎn)義;使用緩衝區(qū)提高循環(huán)編碼效能;快取JSON編碼結(jié)果;考慮使用第三方JSON編碼庫(kù)。

如何在 Golang 中將 JSON 資料保存到資料庫(kù)中? 如何在 Golang 中將 JSON 資料保存到資料庫(kù)中? Jun 06, 2024 am 11:24 AM

可以透過(guò)使用gjson函式庫(kù)或json.Unmarshal函數(shù)將JSON資料儲(chǔ)存到MySQL資料庫(kù)中。 gjson函式庫(kù)提供了方便的方法來(lái)解析JSON字段,而json.Unmarshal函數(shù)需要一個(gè)目標(biāo)類型指標(biāo)來(lái)解組JSON資料。這兩種方法都需要準(zhǔn)備SQL語(yǔ)句和執(zhí)行插入操作來(lái)將資料持久化到資料庫(kù)中。

Jackson庫(kù)中註解如何控制JSON序列化和反序列化? Jackson庫(kù)中註解如何控制JSON序列化和反序列化? May 06, 2024 pm 10:09 PM

Jackson庫(kù)中的註解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略屬性@JsonProperty:指定名稱@JsonGetter:使用獲取方法@JsonSetter:使用設(shè)定方法反序列化:@JsonIgnoreProperties:忽略屬性@ JsonProperty:指定名稱@JsonCreator:使用建構(gòu)子@JsonDeserialize:自訂邏輯

如何使用 PHP 函數(shù)處理 JSON 資料? 如何使用 PHP 函數(shù)處理 JSON 資料? May 04, 2024 pm 03:21 PM

PHP提供了以下函數(shù)來(lái)處理JSON資料:解析JSON資料:使用json_decode()將JSON字串轉(zhuǎn)換為PHP數(shù)組。建立JSON資料:使用json_encode()將PHP陣列或物件轉(zhuǎn)換為JSON字串。取得JSON資料的特定值:使用PHP數(shù)組函數(shù)存取特定值,例如鍵值對(duì)或陣列元素。

PHP 數(shù)組轉(zhuǎn) JSON 的快捷技巧 PHP 數(shù)組轉(zhuǎn) JSON 的快捷技巧 May 03, 2024 pm 06:33 PM

PHP陣列可透過(guò)json_encode()函數(shù)轉(zhuǎn)換為JSON字串(例如:$json=json_encode($array);),反之亦可用json_decode()函數(shù)從JSON轉(zhuǎn)換為陣列($array=json_decode($json);) 。其他技巧還包括:避免深度轉(zhuǎn)換、指定自訂選項(xiàng)以及使用第三方程式庫(kù)。

征服 Java JSON 處理的巔峰:解析和創(chuàng)建複雜數(shù)據(jù) 征服 Java JSON 處理的巔峰:解析和創(chuàng)建複雜數(shù)據(jù) Mar 09, 2024 am 09:13 AM

解析JSON資料解析JSON資料是處理複雜資料的關(guān)鍵一步。在Java中,我們可以使用以下方法:使用Gson庫(kù):Gson是一個(gè)廣泛使用的jsON解析庫(kù),提供了一個(gè)簡(jiǎn)潔且高效的api,如下所示:Gsongson=newGson();JsonObjectjsonObject=gson.fromJson(jsonString ,JsonObject.class);使用Jackson函式庫(kù):Jackson是另一個(gè)流行的JSON處理函式庫(kù),支援豐富的功能和其他格式(如XML)的轉(zhuǎn)換,如下所示:ObjectMappe

是否有基於JSON的RSS替代方案? 是否有基於JSON的RSS替代方案? Apr 10, 2025 am 09:31 AM

JSONFeed是一種基於JSON的RSS替代方案,其優(yōu)勢(shì)在於簡(jiǎn)潔性和易用性。 1)JSONFeed使用JSON格式,易於生成和解析。 2)它支持動(dòng)態(tài)生成,適用於現(xiàn)代Web開(kāi)發(fā)。 3)使用JSONFeed可以提升內(nèi)容管理效率和用戶體驗(yàn)。

JSON與XML:為什麼RSS選擇XML JSON與XML:為什麼RSS選擇XML May 05, 2025 am 12:01 AM

RSS選擇XML而不是JSON是因?yàn)椋?)XML的結(jié)構(gòu)化和驗(yàn)證能力優(yōu)於JSON,適合RSS複雜數(shù)據(jù)結(jié)構(gòu)的需求;2)XML當(dāng)時(shí)有廣泛的工具支持;3)RSS早期版本基於XML,已成標(biāo)準(zhǔn)。

See all articles