使用 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}]'
参照 官网 例子。