常用示例
echo '{"OPT_STATUS": "SUCCESS","DATA": {"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9","expires_in": 3600,"token_type": "password","username": "admin"},"OPT_STATUS_CH": "成功","OPT_STATUS_EN": "Successful"}' | jq -r .DATA.access_token
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq -r '.DATA | .[].name'
# select条件过滤
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq .DATA | jq '.[] | select(.age >= 25)'
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq '.DATA | .[] | select(.name=="Charlie")'
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq '.DATA | .[] | select(.name=="Charlie" and .age==23)'
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq ".DATA | .[] | select(.name==\"Charlie\" or .age==25)"
# 转换为数组
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq ".DATA | [.[].name,.[].city]"
# 转换为对象
echo '{"DATA": [{"name": "Alice","age": 30,"city": "New York"},{"name": "Bob","age": 25,"city": "San Francisco"},{"name": "Charlie","age": 23,"city": "Los Angeles"}],"TYPE": "dict","OPT_STATUS": "SUCCESS","DESCRIPTION": ""}' | jq ".DATA | {"name":.[].name,"city":.[].city}"
参考链接:
https://jqlang.github.io/jq/manual/ # jq json格式化命令
https://www.cnblogs.com/websec80/p/17528197.html