一、引号的问题
字符串可以用单引号,也可以用双引号,也可以不用引号
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