1

我有一个文件,如:

{
        "account": "/system1/test", 
        "description": "", 
        "desired_state": "active", 
        "id": "f957e20c-0033-4523-9020-e31304401149",
        "status": "active", 
        "tags": [], 
        "time_audited": "2018-01-14T23:12:22Z", 
        "time_created": "2018-01-14T22:34:53Z", 
        "time_updated": null
}

当我尝试获取一个值时:

with_items: "{{orch_details.content|from_json|json_query('status')}}"

一切都很好。

我想提取其他几个值,但我不能将它们组合起来json_query

with_items: "{{orch_details.content|from_json|json_query('status, account, description')}}"

我的语法有什么问题?

4

1 回答 1

3

我认为评论试图指出json_query使用 JMESPath 作为过滤器。您可以在http://jmespath.org/tutorial.html上阅读一下。

在您的示例中,您可以执行以下操作来获取值数组:

with_items: "{{orch_details.content|from_json|json_query('[status, account, description]')}}"

哪个会返回:

[
  "active",
  "/system1/test",
  ""
]

或者如果你想要一个新的哈希值:

with_items: "{{orch_details.content|from_json|json_query('{"status": status, "account": account, "desc": description]')}}"

哪个会返回:

{
  "status": "active",
  "account": "/system1/test",
  "desc": ""
}
于 2018-01-15T03:28:02.717 回答