pythonで辞書をJSONに変換する方法

JSON(JavaScript Object Notation)は、構造化されたデータを表示し、サーバーとアプリケーションの間でデータを簡単に転送するための一般的なファイル形式です。 このファイルの構造は、list、tuple、dictionaryのようないくつかのPythonオブジェクトに似ています。 Jsonモジュールのdump()およびdumps()メソッドを使用して、任意のdictionaryオブジェクトをJSONオブジェクトに変換できます。 この記事では、pythonでdictionaryオブジェクトをJSONオブジェクトに変換する方法を示します。

dumps()メソッド:

このメソッドは、解析または読み取りのためにDICTIONARYオブジェクトをJSONデータに変換するために使用され、dump()メソッドよりも遅くなります。

:

json。dumps(object,indent=None,sort_keys=False)

このメソッドには多くのオプション引数があります。 この記事では、1つの必須引数と2つのオプション引数の使用方法を示します。 ここで、最初の引数は任意の辞書オブジェクトを取るために使用される必須引数であり、第二の引数はインデントの単位数を定義するために使用され、第三の引数はキーをソートするために使用されます。

dump()メソッド:

このメソッドは、pythonオブジェクトをJSONファイルに格納するために使用されます。 メモリとファイルに別々に書き込むので、dumps()メソッドよりも高速です。

:

json。dump(dicionary,fileHandler,indent=None)

このメソッドには、dumps()のような多くの引数があります。 この記事では、3つの引数を使用して、dictionaryオブジェクトのデータをJSONデータに変換し、そのデータをJSONファイルに格納します。 ここで、最初の引数はJSONオブジェクトに変換する必要があるdictionaryオブジェクトを取るために使用され、2番目の引数はJSONデータが書き込まれるファイ 第三の引数は、インデント単位を設定するために使用されます。

これら二つのメソッドを使用して、辞書オブジェクトをJSONファイルまたはJSON文字列に変換する方法は、この記事の下に示されています。

例-1: Dumps()を使用して辞書をjsonに変換しますインデント

dumps()メソッドには必須のパラメータが1つあり、DICTIONARYオブジェクトを使用してデータをJSON文字列に変換 次のスクリプトでは、dict_dataは、特定の学生レコードのデータを含む辞書変数です。 最初に、dumps()メソッドを1つの引数で使用し、dict_dataの値をJSONデータに変換します。 JSONデータにインデントが使用されていない場合、辞書とJSON形式の両方の出力は同じになります。 次に、DUMPS()メソッドが2つの引数と共に使用され、3がJSONデータのインデント値として使用されます。 2番目のJSON出力はインデント付きで生成されます。

#!/usr/bin/env python3
#import json module
import json
#辞書を定義する
dict_data={“student_id”:”011894″,”name”:”Matthew”,”batch”:30,”semester”:6}
#辞書データを印刷する
print(“Dictonary Output:\n”,dict_data,”\n”)
#辞書データを印刷する
print(“Dictonary Output:\n”,dict_data,”\n”)
#辞書を定義する
dict_data={“student_id”:”011894″,”name”:”Matthew”,”batch”:30,”semester”:6}
#辞書データを印刷する
#インデントなしで辞書をjsonオブジェクトに変換
json_data=json。dumps(dict_data)
#jsonデータを出力する
print(“インデントなしのJSON出力:\n”,json_data,”\n”)
#インデント付きのjsonオブジェクトに辞書を変換する
json_data=json.dumps(dict_data,indent=3)
#インデント付きjsonデータを印刷
print(“インデント付きJSON出力:\n”,json_data)

出力:

スクリプトを実行すると、次の出力が表示されます。

例-2:sort_keys

を使用してDUMPS()を使用して辞書をJSONに変換するJSONデータのキーは、DUMPS()のsort_keys引数を使用してソートすることができます。 この引数のデフォルト値はFalseです。 次のスクリプトでは、dictionaryオブジェクトは、sort_keysを使用せずにJSONデータに変換され、sort_keysを使用してこの引数の使用を表示します。 最初のdumps()メソッドはindent値5で使用され、出力はindent値5を使用してJSONデータを表示します。 2番目のdumps()メソッドでは、sort_keysが使用され、キー値をソートするためにTrueに設定されます。 最後のJSON出力には、キー値をソートした後のデータが表示されます。

#!/usr/bin/env python3
#jsonモジュールをインポート
jsonをインポート
#辞書を定義
dict_data={‘name’:’Madison’,’Month’:’May’,’year’:2020,’sales’:}
#辞書データを印刷
print(“Dictonary Output:\n”,dict_data,”\n”)
#リストデータを持つ辞書をjsonに変換
json_data=json。dumps(dict_data,indent=5)
#jsonデータを印刷
print(“インデント付きJSON出力:\n”,json_data)
#キーをソートしてリストデータを持つ辞書をjsonに変換
json_data=json。dumps(dict_data,indent=5,sort_keys=True)
#キーに基づいてソートされたjsonデータを印刷
print(“インデント付きのソートされたJSON出力:\n”,json_data)

出力:

スクリプトを実行すると、次の出力が表示されます。 最初のJSON出力には辞書で定義されているキー値が表示され、2番目のJSON出力にはキー値がソートされた順序で表示されます。

例-3:辞書をJSONデータに変換してJSONファイルに保存する

辞書から変換した後にJSONデータをファイルに保存する場合は、dump()メソッドを使用する必 この例では、dictionaryオブジェクトをJSONデータに変換し、そのデータをJSONファイルに格納する方法を示します。 ここでは、dump()メソッドは三つの引数を使用します。 最初の引数は、前に定義されたdictionaryオブジェクトを取ります。 2番目の引数は、JSONファイルを作成するために前にも定義されているファイルハンドラ変数を取ります。 3番目の引数はインデント値を定義します。 新しく書き込まれたJSONの内容は、後で出力として出力されます。

#!/usr/bin/env python3
#import json module
import json
#辞書を定義する
dict_data={‘c-101′:’PHP Programming’,’c-102′:’Bash Programming’,’c-103′:
‘Python Programming’,
‘c-104’: ‘オブジェクト指向プログラミング’}
#辞書データを印刷
print(“Dictonary Output:\n”,dict_data,”\n”)
#jsonファイル名を設定
jsonFile=’course_list.json’
#open(jsonFile,’w’)as filehandler1:
jsonを使用してjsonデータ
を書き込むためのjsonファイルを開きます。dump(dict_data,filehandler1,indent=2)
#読み込むためにjsonファイルを開くfilehandler2=open(jsonFile)
print(“JSONファイルの内容:\n”,filehandler2.読む())

出力:

スクリプトを実行すると、次の出力が表示されます。

結論:

様々なプログラミング作業を容易にするために、辞書データをJSONデータに変換する必要があります。 JSONを使用すると、あるスクリプトから別のスクリプトにデータを簡単に転送できるため、このデータ変換は重要です。 このチュートリアルは、pythonユーザーが辞書データをJSONデータに変換し、スクリプトで適切に適用する方法を知るのに役立つことを願っています。



+