新增替换json内容关键字
This commit is contained in:
@@ -136,6 +136,51 @@ class Order:
|
|||||||
os_name = platform.system()
|
os_name = platform.system()
|
||||||
return os_name
|
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__':
|
if __name__ == '__main__':
|
||||||
datas = {"url":['https://www.baidu.com'],
|
datas = {"url":['https://www.baidu.com'],
|
||||||
"Certificate":"Tango Secure Gateway CA",
|
"Certificate":"Tango Secure Gateway CA",
|
||||||
|
|||||||
Reference in New Issue
Block a user