JMESPath - 将原始字符串解析为对象

标签 jmespath

我有一个使用 JMESPath 解析的对象,其中属性的值是编码为字符串的 JSON 对象。我希望能够将该字符串属性解析为 JSON 对象并仅使用 JMESPath 使用它(我知道我可以使用 JSON 编码器解析该值)。

这是对象:

{
    "ARN": "arn:aws:secretsmanager:us-east-1:xxxxx:secret:todobackend/db/credentials-AP57Kn",
    "Name": "todobackend/db/credentials",
    "VersionId": "c95fae54-e7b4-4c7f-80d6-2c5649f86570",
    "SecretString": "{\"MYSQL_USER\":\"todobackend\",\"MYSQL_PASSWORD\":\"password\"}",
    "VersionStages": [
        "AWSCURRENT"
    ],
    "CreatedDate": 1523276277.046
}

所以我想解析 SecretString属性作为 JSON 对象。

关于这是否可能的任何想法?

最佳答案

jq 会拯救你:

aws secretsmanager get-secret-value --secret-id todobackend/db/credentials-AP57K | jq -r '.SecretString|fromjson|.MYSQL_USER,.MYSQL_PASSWORD'

关于JMESPath - 将原始字符串解析为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49827825/

相关文章:

bash - xargs 不会在 aws cli 输出中的空格上进行分割

python - 使用 JMESPath 基于另一个查询结果过滤列表

ansible - 使用 jmespath 从 dict 中提取嵌套数组

python - JMESPath 日期过滤

json - 使用jmespath连接json的两个字段

jmespath - 根据多个键/值对的存在来过滤输出

python - key 可能不存在的 JMESPath 路径

jmespath - 获取 JMESPath 中具有特定前缀的最新元素

json - 使用JMESPath,如何过滤至少定义了一个标签的Consul服务?

json - ansible json-query 路径以按内容选择项目