pkaramol Asked: 2022-10-05 06:17:19 +0800 CST2022-10-05 06:17:19 +0800 CST 2022-10-05 06:17:19 +0800 CST 将逗号分隔的字符串转换为json数组 772 我有以下字符串bash "3.8,3.9,3.10" 有没有办法使用shell将其转换为json数组,即 ["3.8", "3.9", "3.10"] bash shell 1 个回答 Voted Best Answer Kusalananda 2022-10-05T06:33:55+08:002022-10-05T06:33:55+08:00 由于字符串(包括它的双引号)似乎是一个格式正确的 JSON 字符串,我们可以将它作为 JSON 传递给 JSON 处理器jq并用逗号分割: $ echo '"3.8,3.9,3.10"' | jq 'split(",")' [ "3.8", "3.9", "3.10" ] 使用jqwith-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"]
由于字符串(包括它的双引号)似乎是一个格式正确的 JSON 字符串,我们可以将它作为 JSON 传递给 JSON 处理器
jq
并用逗号分割:使用
jq
with-c
获得“紧凑输出”:将其提供给命令行上的内部
jq
变量,然后拆分该变量的值: