我有一个嵌入另一个 JSON 文档的 JSON 文档。我需要从嵌入文档中提取数据,但我不太熟悉 JSON 或jq
.
以下是我的输入(guard.json
):
{
"_index": "test-2021.06.02",
"_type": "servrd",
"_id": "ZWUxMDU5MjItOGY2MC00MGI5LWJhZTEtODRhYWQ1YTZhOGIy",
"_version": 1,
"_score": null,
"_source": {
"stream": "stdout",
"time": "2021-10-02T03:13:52.496705721Z",
"docker": {
"container_id": "392923402349320329432h3432k4kj32kfks9s9sdfksdfjkdsjfsh3939322342"
},
"kubernetes": {
"container_name": "test",
"namespace_name": "dev",
"pod_name": "test-dev-v004-9s885",
"container_image": "localhost:80/pg/test:1.19.0",
"container_image_id": "docker-pullable://localhost:80/pg/test@sha256:2sfdsfsfsfsfdsr3wrewrewc235e728ad1b29baf5af3dfad30c7706e5eda38b6109",
"pod_id": "ssfsfds-dsfdsfs-fs-sfsfs-sfdsfsdfsewrw",
"host": "test-jup-node008",
"labels": {
"app": "test",
"cluster": "test-dev",
"load-balancer-test-dev": "true",
"stack": "dev",
"app_kubernetes_io/managed-by": "spinnaker",
"app_kubernetes_io/name": "test",
"moniker_spinnaker_io/sequence": "4"
},
"min_url": "https://100.400.0.22:443/api",
"namespace_id": "jajdjsdf-dfse-dsf-koksls-sksjf030292",
"namespace_labels": {
"name": "dev"
}
},
"elapsedTime": 39013,
"message": …
Run Code Online (Sandbox Code Playgroud) 我试图用 jq 填充下面的 json 数据并期望输出如下
{
"data": [
{
"topic_name": "BookShow",
"topic_id": "ABCDFG",
"urgency": "high"
},
{
"topic_name": "AmzonMarket",
"topic_id": "ESDCGHY",
"urgency": "high"
},
{
"topic_name": "AmzonMarket",
"topic_id": "ESDCGHY",
"urgency": "high"
},
{
"topic_name": "BookShow",
"topic_id": "ABCDFG",
"urgency": "high"
},
{
"topic_name": "bookTick",
"topic_id": "KOLPUYDD",
"urgency": "high"
},
{
"topic_name": "bookTick",
"topic_id": "KOLPUYDD",
"urgency": "high"
}
],
"more": false,
"limitations": 100,
"range": 0
}
Run Code Online (Sandbox Code Playgroud)
期望输出如下,这里“出现”将是新字段,用于计算出现次数。
"id","name","occurrences"
"KOLPUYDD","bookTick",2
"ABCDFG","BookShow",2
"ESDCGHY","AmzonMarket",2
Run Code Online (Sandbox Code Playgroud)
请支持。