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

Python将含字典的列表生成JSON时出现true未定义报错如何解决

问题原因
  • Python语法不识别JSON风格的布尔值与空值。JSON中表示真、假、空的关键字是true/false/null,但Python对应的关键字是首字母大写的True/False/None,你直接在Python代码的字典里写true会被解释器当作未定义的变量,因此触发NameError。
  • 代码逻辑不符合导出JSON的需求。你的data本身已经是合法的Python列表嵌套字典结构,不需要调用strip()(列表本身没有strip方法,修正第一个错误后会立刻触发第二个报错),json.loads()是用来将JSON格式的字符串转换为Python对象的,把Python对象导出为JSON文件应该用json.dump()方法。
解决代码

如果data是你直接在Python代码中定义的结构,修正关键字写法后直接导出即可:

import json

# 修正Python语法的关键字写法
data = [
    {"ModelCode":"VH017","MakeCode":"VM020","VehicleTypeCode":"VC00000052","Year":2017,"IsActive":True,"RegistrationNumber":"KCC 254 ZY","IsApproved":True,"ApprovedBy":None,"Color":"BLUE","Id":"8c5062da-727b-40d5-b763-408cafdc53d8","_id":"3ce92939-4df7-4b9e-af48-647e218736da"},
    {"ModelCode":"VH024","MakeCode":"VM026","VehicleTypeCode":"VC00000053","Year":2008,"IsActive":False,"RegistrationNumber":"kkk 333k","IsApproved":False,"ApprovedBy":None,"Color":"blue","Id":"8c5062da-727b-40d5-b763-408cafdc53d8"}
]

# 导出为JSON文件,ensure_ascii=False保证非ASCII字符正常显示,indent=4格式化输出更易读
with open("output.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

如果你的data实际是从API接口拿到的原始JSON字符串,不是自己写的Python对象,直接把完整字符串传给json.loads()即可,不需要做strip、split操作:

import json
# 假设这是从API拿到的原始JSON字符串
data_str = '[{"ModelCode":"VH017","MakeCode":"VM020","VehicleTypeCode":"VC00000052","Year":2017,"IsActive":true,"RegistrationNumber":"KCC 254 ZY","IsApproved":true,"ApprovedBy":null,"Color":"BLUE","Id":"8c5062da-727b-40d5-b763-408cafdc53d8","_id":"3ce92939-4df7-4b9e-af48-647e218736da"},{"ModelCode":"VH024","MakeCode":"VM026","VehicleTypeCode":"VC00000053","Year":2008,"IsActive":false,"RegistrationNumber":"kkk 333k","IsApproved":false,"ApprovedBy":null,"Color":"blue","Id":"8c5062da-727b-40d5-b763-408cafdc53d8"}]'
# 转换为Python对象
data = json.loads(data_str)
# 导出为文件
with open("output.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

内容的提问来源于stack exchange,提问作者kelvin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 20:54:04