【发布时间】:2020-06-02 22:48:36
【问题描述】:
我正在尝试设置一些监控。作为其中的一部分,我需要解析一些粗糙的 json 输出来检索节点 ID,每次重新启动节点或重新启动服务时,该节点 ID 都会发生变化。我总是知道节点 name,但不知道 "id"。 JSON 看起来像这样:
{
"cluster_name":"cluster1",
"nodes":
{
"generatednodeid1":{"name":"node01"},
"generatednodeid2":{"name":"node2"}
}
}
执行.nodes | keys 给了我["generatednodeid1","generatednodeid2"],正如我所期望的那样。
我试过.nodes[] | select(.name=="node2"),但只输出 {"name":"node2"}
我真正需要做的是如果.name=="node2" 那么它给了我generatednodeid2
我一直在用头撞墙。我一生都无法弄清楚我错过了什么。这看起来很简单(可能是而且我已经看了太久了)。有什么想法吗?
【问题讨论】: