私は自分でこれを理解するのに十分なコンピューター科学者ではありません:(
次のような JSON 応答を返す API があります。
// 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
それを再帰的に解析し、次のような階層的な JSON オブジェクトを構築したいと思います。
{ id: 200,
name: 'France',
children: [
{ id: 400,
name: 'Paris',
children: [...]
},
{ id: 500,
name: 'Lyon',
children: [...]
}
],
}
これまでのところ、これはツリーのすべてのノードを解析しますが、JSON オブジェクトには保存しません。これを展開して JSON オブジェクトに保存するにはどうすればよいですか?
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)
これは宿題ではありませんが、この種の問題をより上手に解決するために、宿題をする必要があるかもしれません:(助けてくれてありがとう。