python: read json and loop dictionary

后端 未结 2 1381
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-30 10:13

I\'m learning python and i loop like this the json converted to dictionary: it works but is this the correct method? Thank you :)

import json

output_file =          


        
相关标签:
2条回答
  • 2020-11-30 10:33

    That seems generally fine.

    There's no need to first read the file, then use loads. You can just use load directly.

    output_json = json.load(open('/tmp/output.json'))
    

    Using i and k isn't correct for this. They should generally be used only for an integer loop counter. In this case they're keys, so something more appropriate would be better. Perhaps rename i as container and k as stream? Something that communicate more information will be easier to read and maintain.

    You can use output_json.iteritems() to iterate over both the key and the value at the same time.

    for majorkey, subdict in output_json.iteritems():
        print majorkey
        for subkey, value in subdict.iteritems():
                print subkey, value
    

    Note that, when using Python 3, you will need to use items() instead of iteritems(), as it has been renamed.

    0 讨论(0)
  • 2020-11-30 10:49

    json_data = json.loads(url)

    If list is there, then iterate:

     for majorkey, subdict in json_data.iteritems():
       for one_majorkey in subdict:
        for subkey, value in one_majorkey.iteritems():
            for each_subkey, valu_U in value.iteritems():
                for each_sub_subkey, value_Q in valu_U.iteritems():
                    for each_sub_sub_subkey, value_num in value_Q.iteritems():
                        print each_sub_sub_subkey, value_num
    
    0 讨论(0)
提交回复
热议问题