Кажется, что это нормально.
Нет необходимости сначала читать файл, а затем использовать загрузки. Вы можете просто использовать нагрузку напрямую.
output_json = json.load(open('/tmp/output.json'))
Использование i и k не подходит для этого. Обычно их следует использовать только для счетчика целочисленных циклов. В этом случае они являются ключами, поэтому что-то более подходящее было бы лучше. Возможно переименовать i
как container
и k
как stream
? То, что сообщает больше информации, будет легче читать и поддерживать.
Вы можете использовать output_json.iteritems()
для итерации как ключа, так и значения одновременно.
for majorkey, subdict in output_json.iteritems():
print majorkey
for subkey, value in subdict.iteritems():
print subkey, value
Обратите внимание, что при использовании Python 3 вам нужно будет использовать items () вместо iteritems (), так как он был переименован.