Bash中需要使用第三方工具"jq",安装方式:sudo apt-get install jq
代码示例:
#!/bin/bash
declare -A array
array[name]="Tom"
array[age]=18
array[gender]="male"
json=$(declare -p array | sed -e 's/declare -A /declare /g' | jq -r 'map(tostring) | .[]' | jq -r '
sub("^[^=]*=";"")
| if tonumber then tonumber else . end
| if . == "true" or . == "false" then . == "true" else . end
| @sh
| gsub( "'"'"'"'"; "\'"'"'"'"'"'"'"'"'") ')
echo $json
输出结果:
'name="Tom"\nage=18\ngender="male"'
上一篇:Bash-获取数组的最后一个索引