python json 空格字符

如下dict:

test = { "atest" : " atest", "btest" : "btest"}

使用json.dumps(test)后进行url_encode:

test = { "atest" : "atest", "btest" : "btest"}

jstr = json.dumps(test)

urlTest = { 'urltest' : jstr}

打印如下:

urltest=%7B%22atest%22%3A+%22atest%22%2C+%22btest%22%3A+%22btest%22%7D

使用反编码后,会发现:


多出一个空格,究其原因,是python json dict的时候,生成的字符串中在’,’和’:’后默认有一个空格,解决方法:

    使用separators指定分隔符,系统默认分隔符是(‘, ‘,’: ‘)

代码如下:

test = { "atest" : "atest", "btest" : "btest"}

jstr = json.dumps(test, separators=(',',':'))

urlTest = { 'urltest' : jstr}


print urllib.urlencode(urlTest)

打印如下:

    urltest=%7B%22atest%22%3A%22atest%22%2C%22btest%22%3A%22btest%22%7D

进行反编码,可以看到已经将空格去掉


使用场景:

    不同语言对参数进行url编码后的值不一样


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值