Linux下Shell脚本输出Json格式结果
用NTP命令举例说明
脚本如下:
#!/bin/bash
#echo "---start---"
resp=$(timedatectl list-timezones)#要执行的命令,并将命令结果赋值给变量
#echo -e $resp | sed "s/ /\n/g"#可以对结果变量进行处理,想要的操作
declare -a ntp_info#定义一个数组
fid=1
num=0
for ntp in $resp
do
ntp_info[$num]={\\\"ntpId\\\":\\\"$fid\\\",\\\"ntpInfo\\\":\\\"$ntp\\\"}
let fid++
let num++
done
ntp_infos=`echo \\\[${ntp_info[*]}\\\] |sed 's/ /,/g'`
echo $ntp_infos
输出结果为:
[{"ntpId":"1","ntpInfo":"AAAA"},{"ntpId":"2","ntpInfo":"BBBB"}]
含有特殊字符的转义符,JAVA调用时,可直接使用,进行Json转换即可