Python:将JSON字符串写入文件。

2024-09-30 02:26:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个已序列化为JSON数据的自定义对象。序列化之后,我将数据写回JSON文件。这似乎是可行的,但是我写回文件的JSON现在是一个字符串(即,它以"开头,以"结尾)。在

因此,当我试图将新文件加载到beparsed中时,我的解析器认为它是一个字符串,我得到了一个错误:

 TypeError: string indices must be integers

我通过执行以下操作序列化对象:

^{pr2}$

然后给这个班打电话:

with open('updatedMapData.json', 'w') as outfile:
            json.dump(myEncoder().encode(jsonToEncode) , outfile)

myEncoder().encode(data)完全返回,但当它写入时,文件是一个长字符串。在

我如何解决这个问题?在


Tags: 文件数据对象字符串json解析器序列化错误
2条回答

就这么做吧:

outfile.write(myEncoder().encode(jsonToEncode))

在json.dump文件的第一个参数是要转换为JSON的对象,但可以将类作为cls参数传递,因此需要这样调用它:

json.dump(jsonToEncode, outfile, cls=myEncoder)

相关问题 更多 >

    热门问题