这是我的json文件
"json": {
"models": [
{
"createTime": "2021-10-08T23",
"displayName": "po_model",
"etag": "AMEw9yNhi",
"labels": {
"purpose": "sqat"
},
"name": "projects/93057109696/locations/us-central1/models/1364172872674705408",
}
]
}
我想从name字段中检索值:1364172872674705408为此,我在ansible playbook cmd 下运行
- name: set model ID
set_fact :
model_id: "{{model_image_response.json.models.name.split('/')[5]}}"
但是当我运行这个剧本时,我得到了这个错误
The error was: 'list object' has no attribute 'name'
对此有什么想法吗?提前感谢!!干杯
如后面的[
所示,models
是一个列表,因此它包含有序项而非命名属性。列表中的第一个元素是映射,它确实具有name
属性。
- name: set model ID
set_fact:
model_id: "{{ model_image_response.json.models.0.name.split('/')[5] }}"
添加的0
是要访问的列表中项目的索引。