title: Ansible: get specific attribute value from json output
body: <p>I have the following Ansible task:</p>
  
  <pre><code>tasks:
  - name: ensure instances are running
      ec2:
        aws_access_key: "{{aws_access_key}}"
        aws_secret_key: "{{aws_secret_key}}"
        ...
        user_data: "{{ lookup('template', 'userdata.txt.j2') }}"
      register: ec2_result
  
  - debug:
      msg: "{{ ec2_result }}"
  
  - set_fact:
      win_instance_id: "{{ ec2_result | json_query('tagged_instances[*].id') }}"
  </code></pre>
  
  <p>The output:</p>
  
  <pre><code>TASK [debug] ***************
  ok: [localhost] =&gt; {
      "msg": {
          "changed": false, 
          "failed": false, 
          "instance_ids": null, 
          "instances": [], 
          "tagged_instances": [
              {
                  "ami_launch_index": "0", 
                  "architecture": "x86_64", 
                  "block_device_mapping": {
                      "/dev/sda1": {
                          "delete_on_termination": true, 
                          "status": "attached", 
                          "volume_id": "vol-01f217e489c681211"
                      }
                  }, 
                  "dns_name": "", 
                  "ebs_optimized": false, 
                  "groups": {
                      "sg-c63822ac": "WinRM RDP"
                  }, 
                  "hypervisor": "xen", 
                  "id": "i-019c03c3e3929f76e", 
                  "image_id": "ami-3204995d", 
                  ... 
                  "tags": {
                      "Name": "Student01 _ Jumphost"
                  }, 
                  "tenancy": "default", 
                  "virtualization_type": "hvm"
              }
          ]
      }
  }
  
  TASK [set_fact] ****************
  ok: [localhost]
  
  TASK [debug] ******************
  ok: [localhost] =&gt; {
      "msg": "The Windows Instance ID is: [u'i-019c03c3e3929f76e']"
  }
  </code></pre>
  
  <p>As you can see, the instance ID is correct, but not well formated. Is there a way to convert this output into "human readable" output? Or is there any better way to parse the instance id from the ec2 task output?</p>
  
  <p>Thanks!</p>