📜  python json dump utf8 - Python (1)

📅  最后修改于: 2023-12-03 14:45:59.737000             🧑  作者: Mango

Python中的json.dump()函数和UTF-8编码

Python中的json.dump()函数是用于将Python对象转换为JSON格式并将其写入文件的方法。在处理非ASCII字符时,经常需要对输出的JSON进行UTF-8编码。本文将介绍如何使用json.dump()函数和UTF-8编码来实现这一目标。

使用json.dump()函数写入JSON文件

首先,我们需要导入json模块来使用该函数。下面是一个简单的示例代码,将一个Python字典对象转换为JSON格式并将其写入文件。

import json

data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# 打开文件并以写入模式创建文件对象
with open("data.json", "w") as f:
    json.dump(data, f)

该代码将创建一个名为"data.json"的文件,并将data对象的内容以JSON格式写入文件中。

使用UTF-8编码写入JSON文件

默认情况下,json.dump()函数使用ASCII编码来处理字符串,为了支持非ASCII字符(如中文),我们可以使用ensure_ascii=False参数。此外,我们还需要将文件对象的编码设置为UTF-8。

import json

data = {
    "name": "张三",
    "age": 30,
    "city": "北京"
}

# 打开文件并以写入模式创建文件对象,并设置编码为UTF-8
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False)

使用ensure_ascii=False参数可以确保输出的JSON中正确地包含非ASCII字符。通过将文件对象的编码设置为UTF-8,我们可以保证写入文件时使用UTF-8编码。

示例代码

下面是一个完整的示例代码,将Python对象转换为JSON格式并使用UTF-8编码写入文件。

import json

data = {
    "name": "张三",
    "age": 30,
    "city": "北京"
}

# 打开文件并以写入模式创建文件对象,并设置编码为UTF-8
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False)

请将上述代码保存为json_dump_utf8.py文件,并运行该文件,即可在同目录下生成名为"data.json"的文件,其中包含转换后的JSON数据。

以上就是使用json.dump()函数和UTF-8编码将Python对象转换为JSON格式并写入文件的介绍。希望对你有所帮助!