JSON序列化时消除空格

使用 python 序列化时,通常使用 json.dumps()生成 json,但是会在key和value之间默认给你加上一个空格。传参时可能会应为这个空格导致服务端解析失败。

之前做接口测试时,就遇到这个问题,本来是服务端解析存在问题,无奈服务端童鞋不予更改。

解决方法如下:

1 a = {'user':'admin','password':'a123456'}
2 >>> print(json.dumps(a))
3 {"user": "admin", "password": "a123456"} #默认会多一个空格

如果想获得一个紧凑的json,应该指定消除空格。-> (item_separator, key_separator)(', ', ': ')(',', ':')

具体如下实现:

 a = {'user':'admin','password':'a123456'}
>>> print(json.dumps(a,separators=(',',':')))
{"user":"admin","password":"a123456"}

 =========================

官方例子:

1 >>> import json
2 >>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
3 '[1,2,3,{"4":5,"6":7}]'

 

参照 官网 例子。

posted on 2017-12-14 22:02 Evies 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/bu1tcat/p/8040234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值