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}]'

参照 官网 例子。

原文地址:https://www.cnblogs.com/bu1tcat/p/8040234.html