Python requests发送None未转为null?LocustIO接口请求技术问询
问题解答:Locust发送JSON请求时Python的None是否会转为JSON的null?
答案是肯定的——你请求里的每个None在到达服务器前都会被自动转换成JSON标准的null值。
原因很简单:Locust的self.client.put()方法底层完全依赖Python的requests库来处理HTTP请求。当你使用json参数传入字典时,requests会自动调用Python标准库的json.dumps()函数对字典进行序列化,而JSON序列化的规则就是把Python的None对应转换为JSON的null。
你可以自己快速验证这个逻辑,比如运行下面的代码:
import json grp = {'Owner': None, 'Address': '123 sample', 'Introduction': 'hello', 'State': 1, 'Id': 1, 'EIN': '54330345', 'Name': 'company', 'Logo': None} print(json.dumps(grp))
输出结果会是:
{"Owner": null, "Address": "123 sample", "Introduction": "hello", "State": 1, "Id": 1, "EIN": "54330345", "Name": "company", "Logo": null}
完全能看到所有None都被转换成了null,而Locust发送请求时的序列化逻辑和这个是一模一样的。
如果你的服务器端没有接收到null,那可能需要排查其他环节的问题(比如服务器端的参数解析逻辑、请求是否真的按预期发送等),但None转null这个环节是没问题的。
内容的提问来源于stack exchange,提问作者fobius
相关产品推荐
相关产品推荐

