前情提要:
今天,我來分享一下jq
工具最後的一部分內容:檔案格式轉換。
jq
公式可以從json
到csv
的簡單轉換。
我們將把funtester.json
檔案的article
陣列轉換為csv
檔案。
首先我們通過管道符將article
內容過濾出來。
fv@funtester ~/downloads cat funtester.json| jq '.article'
這裡我們得到了一組json
資料,而不是使用.artworks
(不帶),那樣我們會得到乙個陣列,如下:
fv@funtester ~/downloads cat funtester.json| jq '.article'
[ ,
]
這裡可以理解為帶上
得到的是一組物件,不帶得到了乙個陣列物件。
那麼接下來,需要將這些json物件轉換為陣列。這裡用到之前學到的組合管道符和函式中的語法:增加乙個管道符,處理每乙個json
物件資料。
✘ fv@funtester ~/downloads cat funtester.json| jq '.article | [.author,.title] '
[ "tester1",
"apitest"][
"tester2",
"performancetest"
]
新的過濾器[.author,.title]
處理返回的json
資料,獲取到json
資料中key
是author
和title
的值,並用逗號,
連線。
最後一步,我們可以應用@csv
運算子,該運算子將json陣列
的格式設定為csv行
:
fv@funtester ~/downloads cat funtester.json| jq '.article | [.author,.title] | @csv'
"\"tester1\",\"apitest\""
"\"tester2\",\"performancetest\""
這裡看到裡面的分號是轉義的,這是由於jq
預設情況下將json
編碼應用於其輸出。
因此想要獲取原始csv
輸出,我們需要新增-r
引數:
fv@funtester ~/downloads cat funtester.json| jq -r '.article | [.author,.title] | @csv'
"tester1","apitest"
"tester2","performancetest"
Shell指令碼處理JSON資料工具jq
當我們在linux下需要處理json資料時,第一反應是用指令碼編寫乙個工具,這樣即耗時又不通用.本文將介紹專門的命令列json處理工具jq.1 安裝 1 ubuntu使用者可以直接使用下列命令安裝 sudo apt get install jq2 採用原始碼安裝 2 使用 1 解析json cat ...
jq進行json資料解析
jq進行json資料解析 學習了 幫助文件 使用man可以檢視詳細幫助,太強大了 yiqing cat a.json jq b0 a獲取多個屬性,逗號分隔,可以列出不包含的 yiqing cat a.json jq all a0,b0,c0 b可以直接按照資料來進行過濾 yiqing cat a.j...
jq動態處理價格公升降資料
動態處理資料,按照公升降處理 或者出發時間來排序 必選是table th 和 tr td 格式 都是小數點的數字 parsefloat 如果整型 用 parseint處理一下注釋會寫在 中 html 全部車款 預設 2.0t 78kw 渦輪增壓 廠商指導價 經銷商 1.5l 手動 悅享型 經典版 5...