Json Can';t筛选字符串中的值
我需要用以下格式解析jsonJson Can';t筛选字符串中的值,json,syntax-error,jq,Json,Syntax Error,Jq,我需要用以下格式解析json { "meta": { "rc": "ok" }, "data": [ { "average_wifi_utilization": { "total": 21.928571428571427, "na": 9.035714285714286, "ng": 34.82142857142857 }, "devices_status": { "u
{
"meta": {
"rc": "ok"
},
"data": [
{
"average_wifi_utilization": {
"total": 21.928571428571427,
"na": 9.035714285714286,
"ng": 34.82142857142857
},
"devices_status": {
"uap": {
"adopted": 28,
"connected": 28,
"disconnected": 0,
"pending": 0,
"disabled": 0
},
"usw": {
"adopted": 2,
"connected": 2,
"disconnected": 0,
"pending": 0
},
"ugw": {
"adopted": 0,
"connected": 0,
"disconnected": 0,
"pending": 0
}
},
"wifi_score": {
"client_score_avg": 81,
"clients_with_poor_score": 8,
"clients_with_fair_score": 3,
"clients": 99,
"retry_rate": 0,
"signal": -61,
"latency": 0
}
}
]
}
我需要从“client_score_avg”键中提取值
我能够通过以下方式提取第一级信息:
cat file.json | jq '.data'
然而,当我尝试下一步时
cat file.json | jq '.data.[0]'
我收到一条错误消息:
jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
jq:error:syntax error,意外的“[”,需要格式或QQSTRING_START(Unix shell引用问题?),第1行:
我不确定我做错了什么。我认为您只需要执行以下操作。如果您的
数据[]
数组包含多个条目,请在[…]
部分中指定索引。在您的情况下,下面的筛选器与在[…]部分中将索引指定为0
相同
jq '.data[].wifi_score.client_score_avg' file.json
我认为您只需要执行以下操作。如果数据[]
数组包含多个条目,请在[..]
部分中指定索引。在您的情况下,下面的筛选器与在[..]
部分中将索引指定为0
相同
jq '.data[].wifi_score.client_score_avg' file.json
jq是在告诉你你做错了什么,它说:意外的“[”
。要解决这个问题,你要么省略前一个句点,要么使用未经修改的语法:.data.[0]
。谢谢你。这也确实起作用:“cat file.json.[jq'.data.[0].wifi_score.client_score|avg”jq是在告诉你你做错了什么,它说:意外的“[”
。要解决这个问题,你要么省略前一个句点,要么使用未经修改的语法:.data.[0]
。谢谢你。这也确实起作用:“cat file.json.[jq'.data.[0].wifi_score.client_score|avg”