json删除方法修改,针对Linux做出命令修改

This commit is contained in:
hebingning
2021-04-23 20:28:58 +08:00
parent 623e60fdeb
commit bf4216dbc9
6 changed files with 46 additions and 91 deletions

View File

@@ -1,91 +1,45 @@
import json
def delUseless(jsonData,list1,list2,list3):
# jsonData = '{"opAction":"add","refuseCode":true,"returnData":0,"objectList":{"objectType":"ip","objectSubType":"endpoint","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"abcd","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"1.1.1.1","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"1.1.1.1","clientIp2":"1.1.1.1","clientPort1":"","clientPort2":"","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1618221249}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C"}}'
#如果传进来一个json的话可能会由于截断把数据中的大括号截掉一个改正方法是在数据中的" "外加转义符example见jsonData
#jsonData = '{ "code" : 200, "msg" : "Success", "data" : { "objectList" : [ { "addItemList" : [ { "addrType" : 4, "clientIp1" : "3.3.3.3", "clientIp2" : "32", "clientIpFormat" : "CIDR", "clientPort1" : "0", "clientPort2" : "65535", "clientPortFormat" : "range", "direction" : 0, "ip" : "3.3.3.3", "isInitialize" : 0, "isSession" : "endpoint", "isValid" : 1, "itemDesc" : "{ \\"ip\\":\\"3.3.3.3\\" ,\\"port\\":\\"0-65535\\"}", "itemId" : 3719111, "itemName" : null, "itemType" : "ip", "objectId" : 23471, "opTime" : "2021-04-13 15:40:36", "opUser" : 1527, "port" : "0-65535", "protocol" : 0, "serverIp1" : "0.0.0.0", "serverIp2" : "255.255.255.255", "serverIpFormat" : "mask", "serverPort1" : "0", "serverPort2" : "65535", "serverPortFormat" : "mask" }, { "addrType" : 4, "clientIp1" : "4.4.4.4", "clientIp2" : "32", "clientIpFormat" : "CIDR", "clientPort1" : "0", "clientPort2" : "65535", "clientPortFormat" : "range", "direction" : 0, "ip" : "4.4.4.4", "isInitialize" : 0, "isSession" : "endpoint", "isValid" : 1, "itemDesc" : "{ \\"ip\\":\\"4.4.4.4\\" ,\\"port\\":\\"0-65535\\"}", "itemId" : 3719112, "itemName" : null, "itemType" : "ip", "objectId" : 23471, "opTime" : "2021-04-13 15:40:36", "opUser" : 1527, "port" : "0-65535", "protocol" : 0, "serverIp1" : "0.0.0.0", "serverIp2" : "255.255.255.255", "serverIpFormat" : "mask", "serverPort1" : "0", "serverPort2" : "65535", "serverPortFormat" : "mask" }, { "addrType" : 4, "clientIp1" : "5.5.5.5", "clientIp2" : "32", "clientIpFormat" : "CIDR", "clientPort1" : "0", "clientPort2" : "65535", "clientPortFormat" : "range", "direction" : 0, "ip" : "5.5.5.5", "isInitialize" : 0, "isSession" : "endpoint", "isValid" : 1, "itemDesc" : "{ \\"ip\\":\\"5.5.5.5\\" ,\\"port\\":\\"0-65535\\"}", "itemId" : 3719113, "itemName" : null, "itemType" : "ip", "objectId" : 23471, "opTime" : "2021-04-13 15:40:36", "opUser" : 1527, "port" : "0-65535", "protocol" : 0, "serverIp1" : "0.0.0.0", "serverIp2" : "255.255.255.255", "serverIpFormat" : "mask", "serverPort1" : "0", "serverPort2" : "65535", "serverPortFormat" : "mask" } ], "deleteItemIds" : [ ], "iconColor" : "#31739C", "isDisplay" : null, "isExclusion" : 0, "isInitialize" : 0, "isValid" : 1, "memberType" : 1, "objectDesc" : "", "objectId" : 23471, "objectName" : "testjson2", "objectSubType" : "endpoint", "objectType" : "ip", "opTime" : "2021-04-13 15:40:36", "opUser" : 1527, "subObjectIds" : [ ], "updateItemList" : [ ] } ] }, "success" : true }'
print(type(jsonData))
if type(jsonData) == str:
dictData = json.loads(jsonData)
print(dictData)
print(type(dictData))
def dict_del(key, obj):
if isinstance(obj, dict):
if key in obj:
obj.pop(key)
#print(obj.items())
for k, v in obj.items():
#print(obj.items())
if v is None:
v = '666'
else:
pass
dict_del(key, v)
elif isinstance(obj, list):
for x in obj:
dict_del(key, x)
else:
pass
if "data" in dictData.keys():
dictData = dictData["data"]
#print(type(obj))
obj = json.dumps(obj)
return obj
def deal(jsondata, keylist):
jsondata = json.loads(jsondata)
if "data" in jsondata.keys():
jsondata = jsondata["data"]
else:
pass
#list1 = ["opAction","refuseCode","returnData","code","msg","success"]
for i in list1:
if i in dictData.keys():
del dictData[i]
else:
pass
print(dictData)
#list2 = ["isDisplay","memberType","objectId","opTime","opUser"]
# #list3 = ["ipIf","portIf","itemId","clientIp2","clientIpFormat","clientPort1","clientPort2","isInitialize","isSession","isValid",
# "itemDesc","itemId","itemType","objectId","opTime","opUser","protocol","serverIp1","serverIp2","serverIpFormat","serverPort1","serverPort2","serverPortFormat"]
for i in list2:
# objectList = dictData["objectList"]
print(type(dictData["objectList"]))
if(type(dictData["objectList"]))==list:
len1 = len(dictData["objectList"])
for j in range(len1):
# if i in dictData["objectList"][j].keys():
# del dictData[i]
print(dictData["objectList"][j].get(i))
if dictData["objectList"][j].get(i) is None:
print(i)
dictData["objectList"][j][i] = 'heihei'
else:
pass
print(type(dictData["objectList"][j]))
print(dictData["objectList"][j])
if i in dictData["objectList"][j].keys():
del dictData["objectList"][j][i]
else:
pass
dictData2 = dictData["objectList"][j]["addItemList"]
len2 = len(dictData2)
for k in list3:
# if dictData2["itemName"] is None:
# dictData["objectList"][j]["addItemList"]["itemName"] = "safsaf"
# else:
# pass
for addItem in range(len2):
if dictData2[addItem].get(k) is None:
dictData["objectList"][j]["addItemList"][addItem][k] = 'hahaha'
else:
pass
if k in dictData["objectList"][j]["addItemList"][addItem].keys():
del dictData["objectList"][j]["addItemList"][addItem][k]
else:
pass
elif(type(dictData["objectList"]))==dict:
del dictData["objectList"][i]
dictData3 = dictData["objectList"]["addItemList"]
len3 = len(dictData3)
for k2 in list3:
for addItem2 in range(len3):
if dictData3[addItem2].get(k2) is None:
dictData["objectList"]["addItemList"][addItem2][k2] = 'huhuhu'
else:
pass
if k2 in dictData["objectList"]["addItemList"][addItem2].keys():
del dictData["objectList"]["addItemList"][addItem2][k2]
else:
pass
else:
print('传入数据不属于当前可被处理的格式')
return dictData
print(dictData)
# jsondata = '{"opAction":"add","refuseCode":true,"returnData":1,"objectList":{"objectType":"fqdn","objectSubType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"hbn_test_fqdn","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["*abcds"],"t":"16191477536650","itemId":"","isHexbin":0,"state":2}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C"}}'
# keylist = ["objectType","objectSubType","isValid","isInitialize"]
# len2 = len(keylist)
# print("aaaaaaaaaaaaaaaaaaaaaaaaaa"+str(len2))
# for num in range(len2):
# retstr = dict_del(keylist[num], jsondata)
# print("#############################"+retstr)
# return retstr
#for num in range(len2):
#print("$$$$$$$$$$$$$$$$$$"+dict_del(keylist[num],jsondata))
#key1 = keylist[num]
#print(num)
#print("#############################"+dict_del(key1,jsondata))
len1 = len(keylist)
for num in range(len1):
retstr = dict_del(keylist[num], jsondata)
dict_del(keylist[num], jsondata)
return retstr

View File

@@ -1 +1 @@
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.mgtv.com/| iconv -f utf-8 -t gbk
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.mgtv.com/ | iconv -f utf-8 -t gbk

View File

@@ -1 +1,2 @@
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.ixigua.com/channel/dianying/ | iconv -f utf-8 -t gbk
curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36" --referer 'https://www.baidu.com/' https://www.ixigua.com/channel/dianying/ | iconv -f utf-8 -t gb2312

View File

@@ -1 +1 @@
curl -kv --cookie "lQfQ_2132_saltkey=t8WY1oPe; lQfQ_2132_lastvisit=1595381790; lQfQ_2132_sid=vqXOg6; lQfQ_2132_lastact=1595385400%09forum.php%09image" --referer 'https://www.baidu.com/' \ https://www.reval.com/corporates/
curl -kv --cookie "lQfQ_2132_saltkey=t8WY1oPe; lQfQ_2132_lastvisit=1595381790; lQfQ_2132_sid=vqXOg6; lQfQ_2132_lastact=1595385400%09forum.php%09image" --referer 'https://www.baidu.com/' https://www.reval.com/corporates/

View File

@@ -1 +1 @@
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.travelzoo.com/cn/collections/hotels/ihg-group-meta/| iconv -f utf-8 -t gbk
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' https://www.travelzoo.com/cn/collections/hotels/ihg-group-meta/ | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl -kv http://news.cnstock.com/kcb
curl -kv http://news.cnstock.com/kcb | iconv -f utf-8 -t gbk