shell请求api,获取json返回值,做判断
1. shell如何请求api,获取到json返回值:https://www.cnblogs.com/pingguomang/p/18405011
2. shell如果解析json数据: https://www.cnblogs.com/pingguomang/p/18404996
3. shell的条件判断:
#定义 用户的id user_id="199348" #1. 调用api-- 获取用户数据详细信息 response=$(curl -s "http://xx.xx.xx.xx:8088/api/getUserDetailObjByPid?id="$user_id) #response='{"id": "199348", "name": "张山", "tel": "183xxxx","status":"success"}' echo $response
#2. 解析返回的json对象数据 status_key="status" status_value=$(echo $response | python -c 'import json,sys; data=json.load(sys.stdin); print(data["'$status_key'"])')
#3. 根据返回结果,做条件判断 if [ $status_value = "failed" ]; then echo "数据为None,没有这个id数据!" exit 0 else echo "数据不为None,存在这个id数据!" #4. 获取json返回值 name_key="name" tel_key="tel" name_value=$(echo $response | python -c 'import json,sys; data=json.load(sys.stdin); print(data["'$name_key'"])') tel_value=$(echo $response | python -c 'import json,sys; data=json.load(sys.stdin); print(data["'$tel_key'"])') echo "name value is :"${name_value} echo "tel value is :"${tel_value} fi