jq:根据键是否以指定字符串结尾过滤输入

2023-12-22

我收到了这个混乱的 JSON 数据,我需要提取类型列表:

{
  "token/": {
    "accessor": "auth_token_909d6a81",
    "config": {
      "default_lease_ttl": 0,
      "max_lease_ttl": 0
    },
    "description": "token based credentials",
    "local": false,
    "seal_wrap": false,
    "type": "token"           <-- I need to extract this value ...
  },
  "userpass/": {
    "similar_to": {
      "above": null
    },
    "description": "",
    "local": false,
    "seal_wrap": false,
    "type": "userpass"        <-- ... and this one
  },
  "request_id": "f2a4c135-f699-f29d-ca7c-3320dce0a550",
  "more_keys": "more_values",
  "data": {
    "more_data": {
      "even_more_data": "snipped"
    }
  },
  "you_get_the": "idea"
}

抱歉,复制和粘贴时内联注释弄乱了数据,但这似乎是澄清我的目标的最佳方式: 对于所有以/,我需要的值.type,所以上面例子的最终结果是token userpass.

我设法为根键创建一个工作过滤器:

host:~ user$ jq -r '. | keys[] | endswith("/")' <<< "${json_data}"
false
false
false
true
true
false

我可以使用该过滤器仅获取所需的键,但这只是键本身,而不是它们下面的整个数据结构:

host:~ user$ jq -r '. | keys[] | select(. | endswith("/"))' <<< "${json_data}"
token/
userpass/

我似乎无法将这一切放在一起......

谁能帮我 ?


to_entries值得了解,尤其是因为它通常会导致易于阅读(无变量)的管道,如下所示:

to_entries[] | select(.key|endswith("/")) | .value.type
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jq:根据键是否以指定字符串结尾过滤输入 的相关文章

  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • 如何从 JSON 响应重定向?

    所以我尝试使用 Flask 和 Javascript 上传器 Dropzone 上传文件并在上传完成后重定向 文件上传正常 但在烧瓶中使用传统的重定向 return redirect http somesite com 不执行任何操作 页面
  • JSON-LD 缺少“}”或对象成员名称。错误

    我喜欢将 json ld 添加到我的网站 然后我想将它添加到我的开发网站来测试它 我收到错误消息 指出缺少 或对象成员名称 这是什么错误 我已正确关闭括号 如何修复它
  • Kubernetes / kubectl - “必须指定容器名称”,但看起来确实如此?

    我正在调试 kubectl 的日志输出 其中指出 Error from server BadRequest a container name must be specified for pod postgres operator 49202
  • 通过 json 模式 Sequelize 定义模型

    我想通过json制作Sequelize模型广告 我在文档中找不到是否可以通过 json 模式进行模型声明 对于这么强大的库 没有这样的功能很奇怪 也许我找错地方了 只是试图找到同一问题的答案 模式示例 类型 对象 模式 http json
  • 如果结果类型为 json,则 Struts2 Action 被调用两次

    我有一个包含 4 个操作方法的 Action 类 所有四个操作操作方法都使用 json 结果 通过日志记录和调试 我已经验证如果我调用操作方法1 操作方法2和3也会被调用 但不是4 最后再次调用action方法1 生成json结果 如果我将
  • 如何在golang中解析JSON而不需要解组两次

    我有一个 Web 套接字连接 它在 JSON 对象中发送不同类型的消息 并且我想将内容解组到一些已知的结构中 为此 我认为我应该执行以下操作 步骤 1 将 JSON 解组为通用映射 字符串 接口 步骤 2 找到我要找的钥匙 步骤 3 尝试将
  • 包含 contains 的 json 格式查询

    我在 ansible 中有以下 json 输出 active transaction null cores 4 hostname alpha auth wb01 active transaction null cores 4 hostnam
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • 多重映射的每个元素是否都包含键和值?

    我无法想象没有人问过这个问题 但我没有运气找到它 a 的每个元素是否multimap包含它的价值and它的钥匙 这就是a的内部结构multimap看起来更像这样 map
  • SQL Server OPENJSON读取嵌套json

    我有一些想要在 SQL Server 2016 中解析的 json 有一个项目 gt 结构 gt 属性的层次结构 我想编写一个解析整个层次结构的查询 但我不想通过索引号指定任何元素 即我不想做这样的事情 openjson json 0 or
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • JSON 解析错误:需要“STRING”

    我在用JSONLint http jsonlint com 解析一些 JSON 我不断收到错误 错误 第 1 行解析错误 产品 需要 STRING 却得到 未定义 这是代码 product code Abc123 description S
  • 在 Android 中存储 API 密钥,混淆就足够了吗?

    我正在使用 Dropbox API 在示例应用程序中 它包含以下几行 Replace this with your consumer key and secret assigned by Dropbox Note that this is
  • 键绑定 - 鼠标中键与 Sublime Text 2

    有谁知道是否可以将鼠标中键绑定到 Sublime Text 2 中的操作 我知道可以进行一些鼠标交互 因为您可以使用后退和前进按钮 基本上 我将使用此按钮通过 sFTP 插件上传文件 这样我需要按下的按钮数量就会从 3 个减少到 1 个 目
  • 如何在 C++ 上检查某个键是否被按下

    我怎样才能检查 Windows 上是否按下了某个键 正如其他人提到的 没有跨平台的方法可以做到这一点 但在 Windows 上你可以这样做 下面的代码检查 A 键是否按下 if GetKeyState A 0x8000 Check if h
  • shell-out 值到 md5(加密)函数

    我正在寻找一种解决方案 我正在构建 JSON 记录 并需要在 JQ 中生成一些文本 但将此文本通过管道传输到 MD5 求和函数并将其用作键的值 echo first John last Big jq id first last md5 通过
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz

随机推荐