0
나는 json을 무의미하게 파싱하려고하는데, 필요한 값을 얻었지만 출력은 배열입니다. 어떻게 가치를 얻을 수 있습니까?가능한 json_query에서 괄호를 제거하십시오.
예 JSON :
{
"Version": "2015-08-13",
"Accounts": [{
"AccountName": "account1",
"Regions": [{
"RegionName": "region1",
"RegionId": "region1",
"RegionDetails": [{
"id": "id1",
"version": "v1"
}, {
"id": "id2",
"version": "v2"
}]
}]
}, {
"AccountName": "account2",
"Regions": [{
"RegionName": "region1",
"RegionId": "region1",
"RegionDetails": [{
"id": "id1",
"version": "v1"
}, {
"id": "id2",
"version": "v2"
}]
}]
}]
}
Ansible 각본 예 :
- name: Set Global Vars
hosts: localhost
tasks:
- name: print json file
debug:
msg: "{{ (lookup('file','./example.json') | from_json) | json_query(query) }}"
vars:
query: "Accounts[?AccountName=='account1'][Regions[?RegionName=='region1'].RegionId]"
register: region_id
Ansible 출력 :
TASK [print json file] *********************************************************
ok: [localhost] => {
"msg": [
[
[
"region1"
]
]
]
}
당신이 값 'REGION1'을 볼 수 있듯이 여전히 중첩됩니다. 어떻게하면 가치를 얻을 수 있습니까?
감사합니다.
는 아 난을 참조하십시오. 설명 주셔서 감사합니다! – javajavajava