parse JSON without knowing the key value : <p>I know how to parse a JSON knowing the key value, but now I'd like to get the key values from a JSON that it's not mine, so I can know the key names, for instance I have this JSON</p>

<pre><code>[
  {
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz",
    "address": {
      "street": "Kulas Light",
      "suite": "Apt. 556",
      "city": "Gwenborough",
      "zipcode": "92998-3874",
      "geo": {
        "lat": "-37.3159",
        "lng": "81.1496"
      }
    },
    "phone": "1-770-736-8031 x56442",
    "website": "hildegard.org",
    "company": {
      "name": "Romaguera-Crona",
      "catchPhrase": "Multi-layered client-server neural-net",
      "bs": "harness real-time e-markets"
    }
  },
  {
    "id": 2,
    "name": "Ervin Howell",
    "username": "Antonette",
    "email": "Shanna@melissa.tv",
    "address": {
      "street": "Victor Plains",
      "suite": "Suite 879",
      "city": "Wisokyburgh",
      "zipcode": "90566-7771",
      "geo": {
        "lat": "-43.9509",
        "lng": "-34.4618"
      }
    },
    "phone": "010-692-6593 x09125",
    "website": "anastasia.net",
    "company": {
      "name": "Deckow-Crist",
      "catchPhrase": "Proactive didactic contingency",
      "bs": "synergize scalable supply-chains"
    }
  },
  ...
 ]
</code></pre>

<p>So from now I have this : </p>

<pre><code>with open('users.json') as f:
    data = json.load(f)
</code></pre>

<p>Where I can see all the JSON loaded if I print <code>data</code>, so my question is, how do I print all of the keys and nested objects without knowing the name?</p>

<p>My goal is having something like
id
name
username
email
address that contains street, suite, city, zipcode, geo that contains lat, long, etc..</p>
