直接上代码
# -*-coding: utf-8-*-
# Author : Mr King
# FileName : p_json.py
# DateTime : 2020/4/24 14:54
# Description:
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:
print('pre:::::::::', pre)
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, str(value.index(v))]):
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, str(value.index(v))]):
yield d
else:
yield pre + [key, value]
else:
yield indict
if __name__ == "__main__":
sValue = {
'a': 'aaaaaaaaaa',
"enforce":{
"value":"0",
"inherit":"0",
"global":"0"
},
}
for i in dict_generator(sValue):
print('.'.join(i[0:-1]), ':', i[-1])
# print(i)
a = dict_generator(sValue)
print(list(a))