新增替换json内容关键字

This commit is contained in:
朱明明
2020-05-26 14:41:02 +08:00
parent 55859818b6
commit dff0aa2090

View File

@@ -136,6 +136,51 @@ class Order:
os_name = platform.system()
return os_name
#需要替换的内容进行循环替换 jsons为初始默认json datas为需要替换的内容
# 全局变量 null将java中的空值null,装换位python中空值""
global null
null = ''
# 对需要替换的内容进行循环替换 jsons为初始默认json datas为需要替换的内容header 启用自定义json
def Jsoneditmanu(self, jsons, datas=None,header=None):
#判断是否启用自定义json
if header != None:
header = eval(header)
# 返回 header
return header
# 判断是否需要更改json内容
elif datas != None:
# datas = eval(datas)
jsons = eval(jsons)
# 循环遍历替换json内容
for k, v in datas.items():
Order.UpdateAllvalues(self,jsons, k, v)
return jsons
else:
# 返回初始json
return jsons
# 循环嵌套替换
def UpdateAllvalues(self,mydict, key, value):
if isinstance(mydict, dict): # 使用isinstance检测数据类型如果是字典
if key in mydict.keys(): # 替换字典第一层中所有key与传参一致的key
mydict[key] = value
for k in mydict.keys(): # 遍历字典的所有子层级将子层级赋值为变量chdict分别替换子层级第一层中所有key对应的value最后在把替换后的子层级赋值给当前处理的key
chdict = mydict[k]
Order.UpdateAllvalues(self,chdict, key, value)
mydict[k] = chdict
elif isinstance(mydict, list): # 如是list
for element in mydict: # 遍历list元素以下重复上面的操作
if isinstance(element, dict):
if key in element.keys():
element[key] = value
for k in element.keys():
chdict = element[k]
Order.UpdateAllvalues(self,chdict, key, value)
element[k] = chdict
if __name__ == '__main__':
datas = {"url":['https://www.baidu.com'],
"Certificate":"Tango Secure Gateway CA",