新增替换json内容关键字
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user