\

PythonでJSONファイルを扱う際、日本語データの取り扱いは特に注意が必要です。Pythonの組み込みモジュールであるjsonモジュールを使用すると、JSONファイルに日本語をそのまま出力することが可能です。

しかし、jsonモジュールでは、日本語の文字列をJSONファイルに出力する際、\\u30e6のようなUnicodeエスケープ (シーケンス)という形式で出力します。これは別のプログラムや環境で読み込む際には便利な形式ですが、人間が読むには非常に見ずらい形式です。

そこで、日本語の文字列をエスケープシーケンスなしで出力する方法について解説します。

import json

# JSONファイルを作成するための辞書を作成します
# (Rolesの部分に日本語の文字列が含まれています)
dict = {}
dict["Email"] = "taro@example.com"
dict["Active"] = True
dict["CreatedDate"] = "2013-01-20T00:00:00Z"
dict["Roles"] = ["ユーザー", "管理者"]

# ensure_ascii "なし" で出力します
with open("output_uniEscape.json", "w",  encoding="utf-8" ) as outputFile:
    json.dump(dict,  outputFile,  indent=2 )

# ensure_ascii "あり" で出力します
with open("output_jp.json", "w",  encoding="utf-8") as outputFile:
    json.dump(dict,  outputFile,  indent=2,  ensure_ascii=False )

上記のコードでは、json.dump関数にensure_ascii=Falseを指定することで、日本語の文字列をそのままファイルに出力できます。

このように、Pythonのjsonモジュールを使うと、JSONファイルに日本語をそのまま出力することが可能です。これにより、日本語データを含むJSONファイルの取り扱いが容易になります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です