PythonでJSONファイルの日本語キーを読む方法
PythonでJSONファイルの日本語キーを読む方法を紹介します。
1.問題点
次のJSONファイルがあります。文字コードはUTF-8です。
sample.json
{
"内容" : "工事",
"情報" : [
{
"番号" : "123",
"名前" : "東京"
},
{
"番号" : "456",
"名前" : "大阪"
} ]
}
このファイルを読み込み、"東京"というデータを表示するPythonスクリプト(sample.py)を作りました。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import json
# 引数取得
args = sys.argv
# JSONファイルオープン,パース
f = open(args[1], 'r')
data = json.load(f, 'utf-8')
f.close()
print json.dumps(data["情報"][0]["名前"], ensure_ascii=False)
が、実行すると次のようなKeyErrorになります。
# ./sample.py sample.json
Traceback (most recent call last):
File "./sample.py", line 14, in
print json.dumps(data["情報"][0]["名前"], ensure_ascii=False)
KeyError: '\xe6\x83\x85\xe5\xa0\xb1'
ということで、PythonでJSONファイルの日本語キーを読む方法を紹介します。
2.日本語のキーを読む
PythonでJSONファイルの日本語キーを読むには、JSONを取得する際のキーに"u"を付与します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import json
args = sys.argv
# JSONファイルオープン,パース
f = open(args[1], 'r')
data = json.load(f, 'utf-8')
f.close()
print json.dumps(data[u"情報"][0][u"番号"], ensure_ascii=False)
実行結果
# ./sample.py sample.json
"東京"
Posted by yujiro このページの先頭に戻る
- PythonでEUC-JPのファイルを読み込んで正規表現を使う方法
- Pythonで正規表現を使う方法
- Pythonで「SyntaxError: Non-ASCII character」というエラーの対処
- Pythonで文字列を取得する方法
- Pythonのシングルクォーテーションとダブルクォーテーションの違い
- Pythonで改行せずに出力する方法
- Pythonでshebang行を書く方法
- Pythonで改行を含む複数行データを代入する方法(ヒアドキュメント)
- Pythonで"Hello World"を出力する方法
トラックバックURL
コメントする
greeting