title: Recursive function to create hierarchical JSON object?
body: <p>I'm just not a good enough computer scientist to figure this out by myself :(</p>
  
  <p>I have an API that returns JSON responses that look like this: </p>
  
  <pre><code>// call to /api/get/200
  { id : 200, name : 'France', childNode: [ id: 400, id: 500] } 
  // call to /api/get/400
  { id : 400, name : 'Paris', childNode: [ id: 882, id: 417] } 
  // call to /api/get/500
  { id : 500, name : 'Lyon', childNode: [ id: 998, id: 104] } 
  // etc
  </code></pre>
  
  <p>I would like to parse it recursively and build a hierarchical JSON object that looks something like this: </p>
  
  <pre><code>{ id: 200,
    name: 'France', 
    children: [
       { id: 400,
         name: 'Paris',
         children: [...]
       },
       { id: 500,
         name: 'Lyon', 
         children: [...]
       } 
    ],
  } 
  </code></pre>
  
  <p>So far, I have this, which does parse every node of the tree, but doesn't save it into a JSON object. How can I expand this to save it into the JSON object?</p>
  
  <pre><code>hierarchy = {}
  def get_child_nodes(node_id):   
      request = urllib2.Request(ROOT_URL + node_id)
      response = json.loads(urllib2.urlopen(request).read())
      for childnode in response['childNode']:
          temp_obj = {}
          temp_obj['id'] = childnode['id']
          temp_obj['name'] = childnode['name']
          children = get_child_nodes(temp_obj['id'])
       // How to save temp_obj into the hierarchy?
  get_child_nodes(ROOT_NODE)
  </code></pre>
  
  <p>This isn't homework, but maybe I need to do some homework to get better at solving this kind of problem :( Thank you for any help. </p>