Bash
將逗號分隔的字元串轉換為json數組
我有以下字元串
bash
"3.8,3.9,3.10"
有沒有辦法使用shell將其轉換為
json
數組,即["3.8", "3.9", "3.10"]
由於字元串(包括它的雙引號)似乎是一個格式正確的 JSON 字元串,我們可以將它作為 JSON 傳遞給 JSON 處理器
jq
並用逗號分割:$ echo '"3.8,3.9,3.10"' | jq 'split(",")' [ "3.8", "3.9", "3.10" ]
使用
jq
with-c
獲得“緊湊輸出”:$ echo '"3.8,3.9,3.10"' | jq -c 'split(",")' ["3.8","3.9","3.10"]
將其提供給命令行上的內部
jq
變數,然後拆分該變數的值:$ jq -c -n --argjson str '"3.8,3.9,3.10"' '$str|split(",")' ["3.8","3.9","3.10"]