shell請求api,獲取json返回值,做判斷

苹果芒發表於2024-09-09

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

相關文章