zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python解析任意json

PythonJSONJSON 解析 任意
2023-09-14 09:14:34 时间

from future import print_function
import json

def dict_generator(indict, pre=None):
pre = pre[:] if pre else []
if isinstance(indict, dict):
for key, value in indict.items():
if isinstance(value, dict):
if len(value) == 0:
yield pre+[key, ‘{}’]
else:
for d in dict_generator(value, pre + [key]):
yield d
elif isinstance(value, list):
if len(value) == 0:
yield pre+[key, ‘[]’]
else:
for v in value:
for d in dict_generator(v, pre + [key]):
yield d
elif isinstance(value, tuple):
if len(value) == 0:
yield pre+[key, ‘()’]
else:
for v in value:
for d in dict_generator(v, pre + [key]):
yield d
else:
yield pre + [key, value]
else:
yield indict

if name == “main”:
sJOSN = ‘’
sValue = json.loads(sJOSN)
for i in dict_generator(sValue):
print(’.’.join(i[0:-1]), ‘:’, i[-1])