Python で JSON を辞書に変換する
Hemank Mehtani
2021年10月22日

JSON は JavaScriptObject Notation であり、データの保存と転送に使用されます。Python プログラミング言語は、json
と呼ばれる組み込みライブラリパッケージを介して JSON をサポートします。その形式は、Python の辞書やリストと非常によく似ています。
このチュートリアルでは、JSON 文字列を Python の辞書に変換します。
json.load()
関数は、JSON 文字列を解析するために使用されます。この関数によって返される最終的なタイプは、読み取っている JSON データのタイプによって異なります。角括弧が見つかると、データがリストとして読み取られます。中括弧に遭遇すると、最後のタイプは辞書にあります。
以下のコードを参照してください。
import json
j_data = '''
{
"0":{
"Name": "Nick",
"Age": "22"
},
"1":{
"Name": "Hemank",
"Age": "21"
},
"2":{
"Name": "Sam",
"Age":"25"
}
}
'''
d = json.loads(j_data)
print(d)
print(d['0']['Name'])
print(d['1']['Age'])
出力:
{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}
Nick
21
上記の例の JSON データの形式に注意してください。中括弧で囲まれています。そのため、最終的な出力は辞書の形式になります。また、キーを使用して辞書をトラバースし、個々の値にアクセスしました。
ただし、データが角かっこで囲まれている場合、json.loads()
関数はリスト内のデータを読み取ります。リストから辞書要素を選択できます。
例えば、
import json
j_data = '''
[{
"0":{
"Name": "Nick",
"Age": "22"
},
"1":{
"Name": "Hemank",
"Age": "21"
},
"2":{
"Name": "Sam",
"Age":"25"
}
}
]
'''
d = json.loads(j_data)
print(d[0])
出力:
{'0': {'Name': 'Nick', 'Age': '22'}, '1': {'Name': 'Hemank', 'Age': '21'}, '2': {'Name': 'Sam', 'Age': '25'}}
JSON データのわずかな変更に注意してください。最後のタイプはリストです。そのため、最初の要素である辞書を抽出します。同様に、個々のキーを使用して辞書をトラバースし、さまざまな値にアクセスできます。
関連記事 - Python JSON
- Python で URL から JSON を取得する
- Python で JSON ファイルをきれいに出力する方法
- Python でリクエストを使用して JSON データを POST する
- Python でファイルに JSON を書き込む
- Python で CSV ファイルを JSON ファイルに変換する
関連記事 - Python Dictionary
- Python の辞書にキーが存在するかどうかを確認する方法
- Python で辞書をリストに変換する
- Python でディレクトリのすべてのファイルを取得する方法
- Python 辞書で最大値を求める
- Python 辞書を値でソートする方法
- Python 2 および 3 で 2つの辞書をマージする方法