python中时间处理去空格去冒号_Python实现签名去除字典中的键值对的冒号后的空格方法...

import collections

from hashlib import md5

import json

pramrs = {

"action": "wanyilian.distributor.order.create",

"app_key": "rebecca",

"data": {

"address1": "1 Stafford Crt.",

"address2": "aaaaaaa",

"city": "Bayswater North",

"doorplateNumbers": "109",

"emailAddress": "abc@winit.com",

"phoneNum": "15900001111",

"packageList": [{

"packageNo": "",

"warehouseCode": "US0003",

"deliveryWayCode": "OSF1010520",

"authBarcode": "",

"eBayOrderID": "3434245-24377766",

"productList": [{

"eBayBuyerID": "98877456rere",

"eBaySellerID": "99887rtrtr66123",

"eBayItemID": "3434245",

"eBayTransactionID": "24377766",

"productCode": "LCD-IP4-06",

"productNum": "3"

},

{

"eBayBuyerID": "98877456rere",

"eBaySellerID": "99887rtrtr66123",

"eBayItemID": "3434245",

"eBayTransactionID": "24377766",

"productCode": "WLCD-IP4-01",

"productNum": "1"

}

]

}],

"recipientName": "mingbao",

"region": "WV",

"repeatable": "Y",

"isAuto": "N",

"sellerOrderNo": "PowerSellerABC123",

"state": "US",

"zipCode": "25085"

},

"format": "json",

"language": "zh_CN",

"platform": "SELLERERP",

"sign": "00000000000000000000000000000000",

"sign_method": "md5",

"timestamp": "2016-06-16 00:19:26",

"version": "1.0"

}

def dict_de(data):

# 函数实现字典按特殊字段排序

dic = collections.OrderedDict() # 生成有序字典

for i in range(len(data)):

k, v = data[i]

dic[k] = v

return dic

# 对productList的【0】进行排序

pa = pramrs['data']['packageList'][0]['productList'][0]

f = sorted(pa.items(), key=lambda x: x[0])

dic1 = dict_de(f)

pramrs['data']['packageList'][0]['productList'][0] = dic1

# 对productList的【1】进行排序

pk = pramrs['data']['packageList'][0]['productList'][1]

h = sorted(pk.items(), key=lambda x: x[0])

dic2 = dict_de(h)

pramrs['data']['packageList'][0]['productList'][1] = dic2

# 对packageList进行排序

pack = pramrs['data']['packageList'][0]

p = sorted(pack.items(), key=lambda x: x[0])

dic = dict_de(p)

pramrs['data']['packageList'][0] = dic

# 对data的value进行排序

data = pramrs['data']

d = sorted(data.items(), key=lambda x: x[0])

dic3 = dict_de(d)

# 去掉键值对的连接符:后面的空格

data1 = json.dumps(dic3)

c = data1.replace('": ', '":').replace(', "', ',"').replace(", {", ",{")

# 拼接

str1 = '?'+ c + '?'

m = md5()

m.update(str1.encode(encoding='UTF-8'))

sign = m.hexdigest()

print(sign.upper())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值