この記事では、PythonでJSONを辞書に変換する方法について説明します。
JSONとは?
JSONとは、JavaScript Object Notationの略です。
構造化されたデータを表現するための最も一般的で広く受け入れられているデータ形式の1つです。
これは、JavaScript記法で書かれたテキストデータを保存し、交換するために使用される軽量なフォーマットです。
JSONデータを含むファイルは、ファイル拡張子 .json
で保存する必要があります。
PythonでJSON
JSONファイル内に存在するJSONデータの表現は、Pythonの辞書に似ています。
つまり、JSONデータもPythonの辞書と同じように、名前と値のペアの集合体ということになります。
Pythonにはjsonという組み込みモジュールがあります。
JSONデータを扱うために、Pythonのプログラムで json
モジュールをインポートしてみましょう。
JSONを辞書に変換するための前提条件
- Python の json モジュールをインポートします。
- JSONファイルが同じディレクトリに存在しない場合は、フルパスを提供します。
- JSONDecodeErrorを避けるため、すべてのJSONデータ(文字列)を二重引用符で囲むこと。
サンプルJSONファイルの作成
いくつかのJSON文字列を含む、サンプルのJSONファイルを作成してみましょう。
このJSONファイルをPythonのプログラムの中で使って、PythonでJSONデータを扱うためのjson
モジュールの動作を紹介します。
{ "Linux" : [ "Ubuntu" , "Fedora" , "CentOS" , "Linux Mint" ,
"Debian" , "Kali Linux" ],
"Windows" : [ "Windows 2000" , "Windows XP" , "Windows Vista" ,
"Windows 7" , "Windows 8" , "Windows 10" ],
"MacOS" : [ "OS X 10.8" , "OS X 10.9" , "OS X 10.10" , "OS X 10.11" ,
"MacOS 10.12" , "MacOS 10.13" , "MacOS 10.14" ]
} |
JSONを辞書に変換する
JSONデータ(文字列)を含むサンプルJSONファイルを作成しました。
では、このJSONデータをPythonのオブジェクトに変換してみましょう。
PythonでJSONを辞書に変換するには、以下の手順で行います。
- プログラム内で
json
モジュールをインポートします。 -
- 上記で作成したサンプルJSONファイルを開く。
-
-
json.load()
関数を用いて、ファイルのデータを辞書に変換します。
-
-
-
json.load()
関数が返す値の型をチェックします。
-
-
- Python辞書内のキーと値のペアをforループで表示します。
-
- 開いたサンプルJSONファイルが改竄されないように閉じる。
これらのステップをPythonコードで実装してみましょう。
# Import json Python module import json
# Open the sample JSON file # Using the open() function file = open ( "C:pathsample_file.json" , 'r' )
# Convert the JSON data into Python object # Here it is a dictionary json_data = json.load( file )
# Check the type of the Python object # Using type() function print ( type (json_data))
# Iterate through the dictionary # And print the key: value pairs for key, value in json_data.items():
print (f " )
print (f "Value: {value} )
# Close the opened sample JSON file # Using close() function file .close()
|
結果は以下の通りです。
<class 'dict'> Key: Linux Value: ['Ubuntu', 'Fedora', 'CentOS', 'Linux Mint', 'Debian', 'Kali Linux'] Key: Windows Value: ['Windows 2000', 'Windows XP', 'Windows Vista', 'Windows 7', 'Windows 8', 'Windows 10'] Key: MacOS Value: ['OS X 10.8', 'OS X 10.9', 'OS X 10.10', 'OS X 10.11', 'MacOS 10.12', 'MacOS 10.13', 'MacOS 10.14'] |
まとめ
この記事では、JSONファイルを読み込んで、json.load()関数を使ってPythonの辞書に変換する方法を学びました。
このトピックがあなたにとって明確であり、あなた自身でこれらの操作を実行する準備ができていることを願っています。
この記事を読んでいただきありがとうございます。
Pythonプログラミングに関するより素晴らしいコンテンツにご期待ください。