繁体   English   中英

我的循环只打印字典的第二部分,我正在使用json

[英]my loop is only printing the second part of the dictionary , i'm using json

import json

data ='''
    {
   "names": {"first_boy" : "khaled"},
   "names": {"second_boy" : "waseem"}
    }
    '''
info = json.loads(data)
for line in info:
    print(info["names"])

我希望它可以打印first_boysecond_boy字典,但是它正在打印

{'second_boy': 'waseem'}

python中的字典只能支持相同键之一。 同样, 大多数JSON实现都不允许使用重复的key 当使用json.loads() (或构造dict其他任何东西json.loads()时,python处理此问题的方式是简单地使用任何给定键的最新定义。

在这种情况下, {"second_boy":"waseem"}覆盖{"first_boy":"khaled"}

这里的问题是键“名称”存在2次。 也许您可以这样做:

import json

data ='''
    {
   "names": {"first_boy" : "khaled",
             "second_boy" : "waseem"}
    }
    '''
info = json.loads(data)
for key, value in info['names'].items():
    print(key, value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM