다음 문자열이 있습니다bash
"3.8,3.9,3.10"
shell 을 사용하여 이것을 배열로 변환하는 방법이 있습니까 json
?
["3.8", "3.9", "3.10"]
답변1
문자열(큰따옴표 포함)은 올바른 형식의 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"]