A task like the following should solve your problem:
- debug: var=msg.json.value
Below an example using another task( I don't know which module have you used to produce the msg variabile reported in your question):
$ cat /tmp/tmp - hosts: localhost tasks: - command: uptime register: msg - debug: var=msg - debug: var=msg.cmd $ ansible-playbook /tmp/tmp PLAY [localhost] ***************************************************************************** TASK [Gathering Facts] *********************************************************************** ok: [localhost] TASK [command] ******************************************************************************* changed: [localhost] TASK [debug] ********************************************************************************* ok: [localhost] => { "msg": { "changed": true, "cmd": [ "uptime" ], "delta": "0:00:00.003576", "end": "2019-04-23 11:45:43.393217", "rc": 0, "start": "2019-04-23 11:45:43.389641", "stderr": "", "stderr_lines": [], "stdout": " 11:45:43 up 1:57, 1 user, load average: 0,33, 0,61, 0,83", "stdout_lines": [ " 11:45:43 up 1:57, 1 user, load average: 0,33, 0,61, 0,83" ] } } TASK [debug] ********************************************************************************* ok: [localhost] => { "msg.cmd": [ "uptime" ] } PLAY RECAP *********************************************************************************** localhost : ok=4 changed=1 unreachable=0 failed=0