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

一、引号的问题
字符串可以用单引号,也可以用双引号,也可以不用引号

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





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值