Python提取列表中嵌套JSON中的所有键值
我有一个json,如下所示:Python提取列表中嵌套JSON中的所有键值,python,json,Python,Json,我有一个json,如下所示: {"widget": { "debug": "on", "window": { "title": "SampleWidget", "name": "main_window", "width": 500, "height": 500 }, "image": { "src": "Images/Sun.png", "name": "sun1",
{"widget": {
"debug": "on",
"window": {
"title": "SampleWidget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
我需要提取所有的键值对。e、 g.debug=on,title=SampleWidget,name=main\u窗口
等等。
我怎样才能用一般的方法做到这一点?我的意思是json可以是示例中的json以外的任何json,但过程应该是相同的。data={“widget”:{“debug”:“on”,“window”:{“title”:“SampleWidget”,“name”:“main_window”,“width”:500,“height”:500},“image”:{“src”:“Images/Sun.png”,“name”:“sun1”,“hOffset”:250,“alignment”:“center”},“text”:{“数据”:“单击此处”,“大小”:36,“样式”:“粗体”,“名称”:“text1”,“hOffset”:250,“vOffset”:100,“对齐”:“中心”,“onMouseUp”:“sun1.opacity=(sun1.opacity/100)*90;”}}}
def对(d):
对于d.项()中的k,v:
如果存在(v,dict):
成对产量(v)
其他:
产生'{}={}'。格式(k,v)
打印(列表(对(数据)))
$python3.5 extract.py
['size=36','alignment=center','data=Click Here','onMouseUp=sun1.opacity=(sun1.opacity/100)*90;','vOffset=100','name=text1','hOffset=250','style=bold','name=sun1','hOffset=250','vOffset=250','alignment=center','src=Images/Sun.png','debug=on','name=main_窗口','title=SampleWidget','widget','width=500','height=500']
如果值本身不是字典,您是否需要一个包含所有夫妇的字典?折叠字典?这不会有问题吗?您将有三个name
键您可以在此处找到答案:或在此处: