使用 JQ 按 Windows shell 中子元素的内容过滤 JSON 的元素?

Filter elements of a JSON by their subelements' contents in Windows shell using JQ?

这可能会在其他地方被问到,但我很难找到类似的案例:

尝试根据中继是否 "Running" 以及它是否具有 "Fast" 标志来过滤 Tor 网络的中继共识 (https://onionoo.torproject.org/details),以便制作另一个 json 由选定的继电器组成。甚至可能是一个更简洁的版本,只列出每个中继的某些元素(昵称、指纹等)。

我正在尝试在批处理脚本中使用它,这使得 JQ 难以使用,因为它需要跳过箍才能使其与 Windows' shell 一起使用。

翻看教程和手册,我被难住了。有人知道解决方案吗?

此过滤器将 select 以 RunningFast 标志进行中继,并生成仅包含 nicknamefingerprint 字段的对象数组,对其进行调整满足您的要求。

.relays | map(select(.flags | index("Running") and index("Fast")) | { nickname, fingerprint })