title: How to completely traverse a complex dictionary of unknown depth?
body: <p>Importing from <code>JSON</code> can get very complex and nested structures.
  For example:</p>
  
  <pre><code>{u'body': [{u'declarations': [{u'id': {u'name': u'i',
                                         u'type': u'Identifier'},
                                 u'init': {u'type': u'Literal', u'value': 2},
                                 u'type': u'VariableDeclarator'}],
              u'kind': u'var',
              u'type': u'VariableDeclaration'},
             {u'declarations': [{u'id': {u'name': u'j',
                                         u'type': u'Identifier'},
                                 u'init': {u'type': u'Literal', u'value': 4},
                                 u'type': u'VariableDeclarator'}],
              u'kind': u'var',
              u'type': u'VariableDeclaration'},
             {u'declarations': [{u'id': {u'name': u'answer',
                                         u'type': u'Identifier'},
                                 u'init': {u'left': {u'name': u'i',
                                                     u'type': u'Identifier'},
                                           u'operator': u'*',
                                           u'right': {u'name': u'j',
                                                      u'type': u'Identifier'},
                                           u'type': u'BinaryExpression'},
                                 u'type': u'VariableDeclarator'}],
              u'kind': u'var',
              u'type': u'VariableDeclaration'}],
   u'type': u'Program'}
  </code></pre>
  
  <p>What is the recommended way to walk complex structures like the above?</p>
  
  <p>Apart of a few list there are mostly dictionaries, the structure can become even more imbricated so I need a general solution.</p>