您的位置:首页 > 运维架构 > Shell

Linux Shell 解析java程序返回的Json字符串的方法

2018-01-16 15:56 417 查看
一、引号的问题字符串可以用单引号,也可以用双引号,也可以不用引号
1.单引号:•单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
•单引号字串中不能出现单引号(对单引号使用转义符后也不行)。2。双引号:•双引号里可以有变量
•双引号里可以出现转义字符二、解析Json字符串java程序返回的Json字符串,如果直接echo输出。内容里包含双引号的,类似于:{"name":"tang","age":"20"}所以解析的时候要考虑双引号的问题,由于shell本身对双引号的不敏感所以其实java返回的字符串相当于在shell中这样定义出来:JSON_OBJECT='{"name":"tang","age":"20"}'
#!/bin/sh
# 解析函数
parseJson(){
echo $1 | sed 's/.*'$2':\([^,}]*\).*/\1/'
}

JSON_OBJECT='{"name":"tang","age":"20"}'
echo "1-----------------$(parseJson $JSON_OBJECT '"name"')"
# 结果 :"tang"
# 需要查找并替换引号
echo "2-----------------$(parseJson $JSON_OBJECT '"name"' | sed 's/\"//g')"
# 结果:tang
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell linux json java