Skip to content
On this page

json 读写

python
# Writing JSON data
with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

字符和对象转换

python
import json

data = {
    'name': 'ACME',
    'shares': 100,
    'price': 542.23
}

json_str = json.dumps(data)

data = json.loads(json_str)

print(json_str, type(json_str))
# {"name": "ACME", "shares": 100, "price": 542.23} <class 'str'>
							 
print(data, type(data))
# {'name': 'ACME', 'shares': 100, 'price': 542.23} <class 'dict'>

嗯,带s的就跟string有关,没错~

json 汉字乱码

json写到文件中有时候会发生乱码,可以使用ensure_ascii=False这个参数解决,用indent可以解决缩紧的问题

python
@classmethod
def write(cls, data):  
    with open(cls.JSON_FILE, 'w', encoding="UTF-8") as f:  
        json.dump(data, f, indent=2, ensure_ascii=False)

6.2 读写JSON数据 — python3-cookbook 3.0.0 文档

Released under the MIT License.