【发布时间】:2015-06-03 08:03:09
【问题描述】:
当我尝试使用 json 库序列化 None 对象时,根据我在json.org(jslint、json parser)中找到的几个验证工具,我得到了不是有效 JSON 的“null”字符串。
>>> import json
>>> json.dumps(None)
'null'
首先尝试序列化 None 对象是否正确?如果是,结果应该是什么('{}'?)?如果不是,如果我想在我的网络服务中返回 None,有什么解决方案?
【问题讨论】:
-
None不是有效的 JSON 实体。因此,如果您的内容类型是 JSON,那么您的 Web 服务将无法返回None -
@thefourtheye 为什么 json 不会为 None 引发异常?
-
json模块尝试将None转换为其JSON 等效项,即null。 -
@thefourtheye 你能提供一个链接到规范说 null 相当于 None 吗?
-
查看this section中的表格。它不符合 JSON 规范,因为它不关心 Python 的类型,但
json模块以这种方式实现它