PythonでJSONファイルを読み込む際に、UnicodeDecodeError: 'cp932' codec can't decode byte 0x8f in position 10: illegal multibyte sequence
というエラーが発生することがあります。このエラーは、Windows環境でPythonのjson.load
メソッドがデフォルトでcp932
でコーディングされるために発生します。
対処法
UTF-8のJSONファイルを読み込む際は、json.load
メソッドにencoding="utf-8"
を指定して読み込むことで解決します。
# -*- coding:utf-8 -*-
import json
# JSONファイルの読み込み
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print(data)
このように、適切なエンコーディングを指定することで、UnicodeDecodeError
を回避できます。PythonでJSONを扱う際には、この点を注意してください。.