[英]Detect empty json values
我試圖檢測何時獲得所有空的 json 值。
以下是 2 個空 json 值的示例。
json='{
"data": [],
"pagination": {
"cursor": ""
}
}'
json='{
"data": [],
"error": "",
"message": "",
"status": ""
}'
我得到的最接近的是這個,它似乎適用於第一個例子,但不適用於第二個例子。
echo "$channel_json" | jq -e 'all( .[] ; . == "" or . == [] or . == {} )'
一種,我認為簡單的方法是從每個密鑰對中獲取字符串文本,然后檢查我是否留下了一個空字符串。 但我還沒有找到一種適用於分頁示例的方法。
這可能對gron很有用
json='{
"data": [],
"pagination": {
"cursor": "",
"position":[2,3]
}
}'
gron 將輸入 JSON 轉換為離散路徑:
$ gron <<< "$json"
json = {};
json.data = [];
json.pagination = {};
json.pagination.cursor = "";
json.pagination.position = [];
json.pagination.position[0] = 2;
json.pagination.position[1] = 3;
並測試任何非空元素
$ gron <<< "$json" | grep -Evq '(\{\}|\[\]|"");$' && echo "not everything is empty"
not everything is empty
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.