Python 如何修复JSONDECODE错误?

Python 如何修复JSONDECODE错误?,python,json,mongodb,Python,Json,Mongodb,我正在使用Python编写CRUD操作(特别是创建和读取)。我正在编写一个测试脚本来创建和读取字典,以便稍后在mongoDB shell中使用,并且遇到了一个JSONDecodeError 我是python和JSON新手,以前从未遇到过这个错误。如何修复此错误?还有,有什么方法可以改进我正在编写的代码吗 谢谢大家! 以下是我的测试脚本: 从pymongo导入MongoClient 从bson.objectid导入objectid 进口积垢 来自CRUD进口动物直升机 随机输入 导入字符串 导入j

我正在使用Python编写CRUD操作(特别是创建和读取)。我正在编写一个测试脚本来创建和读取字典,以便稍后在mongoDB shell中使用,并且遇到了一个JSONDecodeError

我是python和JSON新手,以前从未遇到过这个错误。如何修复此错误?还有,有什么方法可以改进我正在编写的代码吗

谢谢大家!

以下是我的测试脚本:

从pymongo导入MongoClient
从bson.objectid导入objectid
进口积垢
来自CRUD进口动物直升机
随机输入
导入字符串
导入json
避难所=动物避难所()
animal_id='A'。连接(随机的.choices(string.ascii_大写+string.digits,k=6))
打印('正在创建动物id%s'%animal\u id!')
结果=json.loads(
“{”“:78258,“年龄取决于结果”:“1.6岁”,“动物id”:“+动物id+”,“动物类型”:“狗”,“品种”:“狼-谢泼德混合”,“颜色”:“灰色”,“出生日期”:“2013-02-09”,“日期时间”:“2014-04-11 13:26:00”,“月-年”:“2014-04-11T13:26:00”,“姓名”:“*JakeMo”,“结果亚型”:“伴侣”,“结果类型”:“转移”,“性别取决于结果”:“完整男性”,“位置:左”:“30.707721081886”,位置:长”:“-97.2735696278757”,“结果时的年龄:110.0799603174603}”)
#打印(结果)
如果需要,创建(结果):
印刷品(“添加动物”)
动物=庇护所。读取({“动物id”:动物id})
印刷品(动物)
下面是我得到的错误:


问题在于这些线路:

output=json.load(
“{”“:78258,“年龄取决于结果”:“1.6岁”,“动物id”:“+动物id+”,“动物类型”:“狗”,“品种”:“狼-谢泼德混合”,“颜色”:“灰色”,“出生日期”:“2013-02-09”,“日期时间”:“2014-04-11 13:26:00”,“月-年”:“2014-04-11T13:26:00”,“姓名”:“*JakeMo”,“结果亚型”:“伴侣”,“结果类型”:“转移”,“性别取决于结果”:“完整男性”,“位置:左”:“30.707721081886”,位置:长”:“-97.2735696278757”,“结果时的年龄:110.0799603174603}”)
您在这里所做的是创建一个字符串,然后使用
json.loads
将其解析为dict。如果您可以直接创建dict,那么这样做毫无意义:

结果={
"": 78258,
“年龄取决于结果”:“1.6岁”,
“动物id”:动物id,
“动物类型”:“狗”,
“品种”:“狼-谢泼德混血”,
“颜色”:“灰色”,
“出生日期”:“2013-02-09”,
“日期时间”:“2014-04-11 13:26:00”,
“月/年”:“2014-04-11T13:26:00”,
“姓名”:“*JakeMo”,
“结果子类型”:“合作伙伴”,
“结果类型”:“转移”,
“性别取决于结果”:“完整男性”,
“地点”:“30.707721081886”,
“位置:长”:“-97.2735696278757”,
“周内的年龄与结果”:110.0799603174603
}
理论上,您可以通过(a)更改
animal_id
周围的引号(注意下面和我的答案顶部代码片段中突出显示
animal_id
变量的差异)和(b)来实现JSON解析修复
Location\u lat
属性值后缺少的双引号。但正如我已经解释的那样,这不是最好的做法

output=json.load(
“{”“:78258,“年龄取决于结果”:“1.6岁”,“动物id”:“+动物id+”,“动物类型”:“狗”,“品种”:“狼-谢泼德混合”,“颜色”:“灰色”,“出生日期”:“2013-02-09”,“日期时间”:“2014-04-11 13:26:00”,“月/年”:“2014-04-11T13:26:00”,“姓名”:“*JakeMo”,“结果亚型”:“伴侣”,“结果类型”:“转移”,“性别取决于结果”:“完整男性”,“位置:左”:“30.707721081886”,“位置:长”:“-97.2735696278757”,“结果时的年龄:110.0799603174603}”)

请编辑您的问题,以实际显示错误。请提供答案。我们无法开始运行您的代码并重现错误(顺便说一句,您没有包括在内)。提供了编辑功能。请始终将代码和错误消息作为文本包含在问题本身中,而不是作为图像-另请参见,该消息清楚地说明JSON解码器希望在某处使用逗号
,作为第61个字符,但未找到它。请检查它尝试解码的字符串。我们无法执行此操作,因为我们无法重新编译ce有问题的字符串。这就是为什么需要。。。