<p>它看起来很难看,但是您可以改进它,但是这里列出了Dict和List混合的任意深度:</p>
<pre><code>import os, json,requests
print 'Starting'
url = 'https://dl.dropboxusercontent.com/u/3758695/json.txt'
# download the json string
json_string = requests.get(url)
print 'Downloaded json'
def dig_down(partial_json_list, depth):
if type(partial_json_list) is list:
for i in range(len(partial_json_list)):
print 'index', i, ' at depth', depth,' has', len(partial_json_list[i]) , 'elements'
if len(partial_json_list[i]) > 1:
dig_down(partial_json_list[i],depth+1)
else:
for k in partial_json_list:
print 'item at depth', depth, 'equals', k#, ' & has', len(partial_json_list[k]) , 'elements'
if type(partial_json_list) is list or type(partial_json_list) is dict:
try:
if len(partial_json_list[k]) > 1:
dig_down(partial_json_list[k],depth+1)
except:
pass
else:
print partial_json_list[k]
# get the content
the_data = json_string.json()
print 'the_data has length ', len(the_data)
dig_down(the_data,0)
</code></pre>