Extracting items from list within another list

Newbie when it comes to ansible and jinja. Were porting our installation and maintenance python scripts to ansible. We have large variable list (xml files, 4000+ lines) which I ran through an xml->yml converter. The output yaml is similar to the simplified version below.

From within a template, I’m trying to extract a value from a var file list within another list. I need the items from ‘level4’ in the var file:

Var file:

`

Sorry, output from run:

`

PLAY [Test-c7-1] ******************************************************************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************************************************************************
ok: [Test-c7-1]

TASK [john.test : set] ************************************************************************************************************************************************************
ok: [Test-c7-1]

TASK [john.test : debug] **********************************************************************************************************************************************************
ok: [Test-c7-1] => {
“msg”: {
“level4”: [
“theImportanStuff1”,
“theImportanStuff2”
]
}
}

TASK [john.test : set2] ***********************************************************************************************************************************************************
ok: [Test-c7-1]

TASK [john.test : debug] **********************************************************************************************************************************************************
ok: [Test-c7-1] => {
“msg”: [
{
“_instance”: 1,
“_type”: “listType1”,
“level3”: {
“level4”: [
“theImportanStuff1”,
“theImportanStuff2”
]
}
}
]
}

TASK [john.test : set3] ***********************************************************************************************************************************************************
ok: [Test-c7-1]

TASK [john.test : debug] **********************************************************************************************************************************************************
ok: [Test-c7-1] => {
“msg”: “<generator object _select_or_reject at 0x1aa9730>”
}

TASK [john.test : Gather OS specific variables] ***********************************************************************************************************************************
ok: [Test-c7-1] => (item=/etc/ansible/roles/john.test/vars/redhat.yml)

TASK [john.test : Copy TEST configuration file] ***********************************************************************************************************************************
ok: [Test-c7-1]

PLAY RECAP ************************************************************************************************************************************************************************
Test-c7-1 : ok=9 changed=0 unreachable=0 failed=0

`

Found my answer:

{% for item in level1.level2|selectattr('_type','match','listType1') %} {% for item2 in item.level3.level4 %} myInfo: {{ item2 }} {% endfor %} {% endfor %}

I had too many in my testing.