# Getting null values when parsing json

**URL:** <https://forum.ansible.com/t/getting-null-values-when-parsing-json/36431>\
**Category:** Ansible Project\
**Created:** [March 14, 2022, 1:48am UTC](https://forum.ansible.com/t/getting-null-values-when-parsing-json/36431 "2022-03-14T01:48:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shifa\_Shaikh](https://avatars.discourse-cdn.com/v4/letter/s/b2d939/32.png) [@Shifa\_Shaikh](https://forum.ansible.com/u/Shifa_Shaikh)\
**Post date:** [March 14, 2022, 1:48am UTC](https://forum.ansible.com/t/getting-null-values-when-parsing-json/36431/1 "2022-03-14T01:48:56Z")

</div>

Below is my json file:

[  
{  
“?xml”: {  
“attributes”: {  
“encoding”: “UTF-8”,  
“version”: “1.0”  
}  
}  
},  
{  
“domain”: [

{  
“server”: [  
{  
“name”: “myserv1”  
},  
{  
“ssl”: {  
“name”: “myserv1”  
}  
},  
{  
“log”: [  
{  
“name”: “myserv1”  
},  
{  
“file-name”: “/web/bea\_logs/domains/mydom/myserv1/myserv1.log”  
}  
]  
}  
]  
},  
{  
“server”: [  
{  
“name”: “myserv2”  
},  
{  
“ssl”: {  
“name”: “myserv2”  
}  
},  
{  
“log”: [  
{  
“name”: “myserv2”  
},  
{  
“file-name”: “/web/bea\_logs/domains/mydom/myserv2/myserv2.log”  
}  
]  
},  
]  
}  
]  
}  
]

I wish to parse the above json and get the data like below:

myserv1\_log: /web/bea\_logs/domains/mydom/myserv1/myserv1.log

myserv2\_log: /web/bea\_logs/domains/mydom/myserv2/myserv2.log

Below is how i try to parse the json using jmespath:

- name: Server Names and log details  
set\_fact:  
serverlog: “{{ jsondata | json\_query(jmesquery) }}”  
vars:  
jmesquery: ‘.domain.server[_].log[_].[name, “file-name”]’

- name: Print all server names with log details

debug:  
msg: “{{ item }}”  
with\_items:

- “{{ serverlog }}”

Issue is that I’m getting null in the output as below:

ok: [localhost] =\> (item=[[[‘myserv1’, None], [None, ‘/web/bea\_logs/domains/mydom/myserv1/myserv1.log’]]]) =\> {  
“msg”: [  
[  
[  
“myserv1”,  
null  
],  
[  
null,  
“/web/bea\_logs/domains/mydom/myserv1/myserv1.log”  
]  
]  
]  
}  
ok: [localhost] =\> (item=[[[‘myserv2’, None], [None, ‘/web/bea\_logs/domains/mydom/myserv2/myserv2.log’]]]) =\> {  
“msg”: [  
[  
[  
“myserv2”,  
null  
],  
[  
null,  
“/web/bea\_logs/domains/mydom/myserv2/myserv2.log”  
]  
]  
]  
}

Can you please suggest ?
