我正在使用类似于以下的 JSON 文件:
{ "Response" : {
"TimeUnit" : [ 1576126800000 ],
"metaData" : {
"errors" : [ ],
"notices" : [ "query served by:1"]
},
"stats" : {
"data" : [ {
"identifier" : {
"names" : [ "apiproxy", "response_status_code", "target_response_code", "target_ip" ],
"values" : [ "IO", "502", "502", "7.1.143.6" ]
},
"metric" : [ {
"env" : "dev",
"name" : "sum(message_count)",
"values" : [ 0.0]
} ]
} ]
} } }
Run Code Online (Sandbox Code Playgroud)
我的目标是显示标识符和值的映射,例如:
apiproxy=IO
response_status_code=502
target_response_code=502
target_ip=7.1.143.6
Run Code Online (Sandbox Code Playgroud)
我已经能够解析名称和值
.[].stats.data[] | (.identifier.names[]) 和 .[].stats.data[] | (.identifier.values[])
但我需要 jq 方式来映射值的帮助。
整个过程可以在 jq 中使用 -r 命令行选项完成:
.[].stats.data[]
| [.identifier.names, .identifier.values]
| transpose[]
| "\(.[0])=\(.[1])"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |