我需要从 JSON 中提取一些信息。我的 JSON 看起来像这样:
{
"pipeline1": {
"description": "Desc 1",
"last_modified": "2023-11-14T09:27:50.235Z",
"pipeline_metadata": {
"version": 1,
"type": "logstash_pipeline"
},
"username": "user1",
"pipeline": "code",
"pipeline_settings": {
"pipeline.batch.delay": 50,
"pipeline.batch.size": 125,
"pipeline.workers": 1,
"queue.checkpoint.writes": 1024,
"queue.max_bytes": "1gb",
"queue.type": "memory"
}
}
}
预期输出:
{
"pipeline": "pipeline1",
"description": "Desc 1"
"last_modified": "2023-11-14T09:27:50.235Z"
"username": "user1"
"pipeline": "code"
}
有可能吗jq
?
您的预期输出包含重复的 key
pipeline
, jq 无法通过常规方式生成该 key 。但是,如果您接受其中一个的另一个名称,例如将第一个名称重命名为parent
,您可以通过使用 分解输入to_entries
,然后分配所有目标值来获得预期的输出:演示