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

标签 python json encoding

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

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

 TypeError: string indices must be integers

我通过以下方式序列化对象:

class myEncoder(JSONEncoder):
    def default(self, o):
        return o.__dict__

然后调用这个类:

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

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

我该如何解决这个问题?

最佳答案

只是做:

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

关于Python:将 JSON 字符串写入文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138363/

相关文章:

python - Celery - 任务重试导致奇怪的错误

python - Webdriver:当类名包含空格时如何查找元素?

python - 使用 python-openCv 进行简单模板匹配

json - 如何使用 Node-orm2 将 json 对象漂亮地打印到数据库

mysql - 在 MySQL 中使用 Utf-8 选择返回错误结果

python - 没有名为 Pillow 的模块

javascript - 如何将 json 文件中的键值组合到 geojson map 文件中?

javascript - 重新启动应用程序时数据存储的更改丢失

ECC 公钥的 Java 紧凑表示

javascript - PHP 和 JS 中是否有统一的方法来转换 unicode 字符?