我有一串逗号分隔的值。
e.g。 - "Paris,Mumbai,London,Tokyo,Boston"
现在我需要的是这样的字符串:
"["Paris","Mumbai","London","Tokyo","Boston"]"
我可以使用IFS创建一个字符串数组。但是无法创建上面提到的json数组 我需要的字符串。请帮忙。
答案 0 :(得分:0)
"["Paris","Mumbai","London","Tokyo","Boston"]"
不是一个结构良好的Json。
这是正确的格式。
["Paris","Mumbai","London","Tokyo","Boston"]
很难看......我知道:
echo "Paris,Mumbai,London,Tokyo,Boston" | perl -p -e "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g'
返回:
["Paris","Mumbai","London","Tokyo","Boston"]
答案 1 :(得分:0)
假设bash 4.4以上,这可能对您有用:
$ INPUT_CITIES="Paris,Mumbai,London,Tokyo,Boston"
$ mapfile -td , cities < <(printf "%s" "$INPUT_CITIES")
$ jo -a "${cities[@]}"
["Paris","Mumbai","London","Tokyo","Boston"]
这假设您已安装https://github.com/jpmens/jo。