I'm trying to parse the following json that was output from the aws ec2 describe-instances cli command: 

```
    "Reservations": [
        {
            "Instances": [
                {
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "PublicDnsName": "ec2xxxxxxxxxx.us-west-2.compute.amazonaws.com",
                    "StateReason": {
                        "Message": "Client.UserInitiatedShutdown: User initiated shutdown",
                        "Code": "Client.UserInitiatedShutdown"
                    },
                    "State": {
                        "Code": 80,
                        "Name": "stopped"
                    },
                    "EbsOptimized": false,
                    "LaunchTime": "2016-11-28T20:17:05.000Z",
                    "PublicIpAddress": "x.x.110.2",
                    "PrivateIpAddress": "x.x.2.2",

```

I'm able to parse "LaunchTime" just fine, but using the same code, I cannot parse "PublicIpAddress" or "PrivateIpAddress. Logically it doesn't make any sense. 

This is my code:

```
#!/usr/bin/python3

import json

with open('all-instances.json') as f:
    data = json.load(f)

for myInstance in data['Reservations']:
    print(myInstance['Instances'][0]['LaunchTime']) #This works
    print(myInstance['Instances'][0]['PublicIpAddress']) #This doesn't work

```

This is the output I get:

```
Traceback (most recent call last):
  File "./json-parsing.py", line 15, in <module>
    print(myInstance['Instances'][0]['PublicIpAddress'])
KeyError: 'PublicIpAddress'

```

So my question is; why am I able to get the value for LaunchTime but not PublicIpAddress even though they're in the same python dictionary and I'm using the same exact code?
Thanks for any assistance. 
Eric

EDIT:

This will account for instances that don't have a public IP and will continue without throwing an error. 

```
if 'PublicIpAddress' in myInstance['Instances'][0]:
        print(myInstance['Instances'][0]['PublicIpAddress'])
else:
   print("None")

```