Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python提取列表中嵌套JSON中的所有键值_Python_Json - Fatal编程技术网

Python提取列表中嵌套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",

我有一个json,如下所示:

{"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
键您可以在此处找到答案:或在此处: