You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析包含Python None的JSON字符串为JSON对象?

解析包含Python None的类JSON字符串的解决方法

错误原因分析

  • 第一次报错是因为JSON规范要求对象属性名必须用双引号,而原字符串用了单引号,不符合JSON格式。
  • 替换单引号后仍报错,是因为JSON里没有None这个值,JSON的空值表示是null,所以字符串里的None无法被json模块识别。

解决方法

方法1:手动替换格式后用json.loads解析

先把字符串里的单引号换成双引号,再把None替换成JSON合法的null,之后就能正常解析:

import json

dummy = "{'this':None}"
# 先替换单引号为双引号,再替换None为null
processed_str = dummy.replace("'", '"').replace("None", "null")
result = json.loads(processed_str)
print(result)  # 输出: {'this': None}

方法2:用ast.literal_eval直接解析

这个字符串本质是Python的字典字面量,用ast.literal_eval可以直接解析,不需要手动修改格式,而且比eval更安全(不会执行恶意代码):

import ast

dummy = "{'this':None}"
result = ast.literal_eval(dummy)
print(result)  # 输出: {'this': None}

# 如果需要转换成标准JSON字符串,再用json.dumps处理
json_str = json.dumps(result)
print(json_str)  # 输出: {"this": null}

内容的提问来源于stack exchange,提问作者learner.programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:52:02