How to extract an element from JSON file by element name? For example what I have in the ansible-playbook:
- debug:
msg: "{{ test }}"
This is output (my file)
ok: [test] => {
"msg": [
{
"element1": {
"test1": "test3",
"test2": [
"1",
"2",
"3"
],
"info": {
"test4": "test",
"test": 1,
"test": "test"
},
"test": "test",
"test": "test",
"test": "test",
"test": "test"
},
"element2": {
"test": "test",
"test": [
"test",
"test"
],
"test": {
"test": "test",
"test": 1,
"test": "test",
"test": 1
},
"test": "test",
"test": "test",
"test": "test",
"test": "test"
}
}
]
}
I need to create a filter to get only element1
by his name
- name: Get item by name
debug: msg="{{ my_json_file | json_query(jmesquery) }}"
vars:
jmesquery: "[?contains(@, `element2`)]"
And expect to get output like
"element1": {
"test1": "test3",
"test2": [
"1",
"2",
"3"
],
"info": {
"test4": "test",
"test": 1,
"test": "test"
},
"test": "test",
"test": "test",
"test": "test",
"test": "test"
}