Ansible - Json_Path 似乎不起作用

Ansible - Json_Path does not seem to work

我有以下 set_fact 任务:

- set_fact:
   task_uuid: "{{ task_status.json  |lower |to_json | from_json |json_query('taskuuid') }}"

这是我对 task_status.json:

 debug:
   var: task_status.json
{
"task_status.json": {
    "taskUuid": "e66cea71-ef33-4610-9194-0403e4bb2153"
}
}

输出: task_uuid var is empty.

我尝试了所有组合(删除了 to_json、from_json 等)。

请指教。我基本上是想提取 taskUUID 的值。

我正在为几个 api 端点重新使用 set_fact 任务 - 其中一些给出 'taskUuid',一些给出 'taskuuid',有些甚至 [=30] =] - 我正在寻找一种使用通用过滤器从这些端点获取 UUID 的方法

无论标识符是否为驼峰式大小写,我都会这样做以确保捕捉到任何一种情况:

    - set_fact:
        task_uuid : "{{ task_status.json.taskUuid | default(task_status.json.taskuuid | default(''))  }}"

嵌套的 default 只是为了确保在两个标识符都不存在的情况下任务不会失败。适应你自己的需要。