Shell获取json数据中key对应的value值

脚本 

#!/bin/bash


json_data='{"aaa": "111", "bbb": "222"}'


function parse_json(){
    echo "${1//\"/}" | sed "s/.*$2:\([^,}]*\).*/\1/"
}

function main(){
    echo "json_data: $json_data"

    value=`echo $json_data | sed s/[[:space:]]//g`
    echo "[+] value: $value"

    aaa=$(parse_json $value "aaa")
    echo "[+] aaa: $aaa"

    bbb=$(parse_json $value "bbb")
    echo "[+] bbb: $bbb"
}

main

结果

[root@localhost test]# bash abc.sh 
json_data: {"aaa": "111", "bbb": "222"}
[+] value: {"aaa":"111","bbb":"222"}
[+] aaa: 111
[+] bbb: 222

注:json数据中的空格及双引号作用

猜你喜欢

转载自blog.csdn.net/u012206617/article/details/125300221