Extensible Markup Language(XML)とJavaScript Object Notation(JSON)は、データを保存するための2つの有名なデータ形式です。 JSONとXMLの両方を使用すると、人間だけでなく機械でも読み取れる方法でデータを保存できます。まず、JSONは、サーバーとソフトウェアアプリケーション間でデータを交換するために主に使用されるデータ構造の一種です。データをキーと値のペアとして保存します。 JSONは、キーと値のペアがコロン(:)に基づいて分離され、1つの完全なキーと値のペアがコンマに基づいて他のペアによって分離されるデータのオブジェクトを作成します。
さらに、XMLはHTMLタイプのマークアップ言語であり、データの格納にも使用されます。ただし、XMLは事前定義されたタグを提供しません。独自のタグを作成してデータを保存できます。すでに説明したように、JSONとXMLの両方を使用して、サーバーとソフトウェアアプリケーション間でデータを交換します。ただし、2つのデータ形式は多少異なります。 JSONはオブジェクトタイプのデータストレージ形式ですが、XMLにはタイプがありません。 XMLファイルは、データを文字列形式でのみ保存し、JSONファイルよりも重いものです。一方、JSONファイルには、文字列、配列、数値の浮動小数点数、およびブール値を格納できます。
この記事では、Pythonを使用したXMLからJSONへの変換について説明します。 Python xmltodictモジュールは、XMLをJSON形式に変換するために使用されます。
xmltodictモジュールのインストール
XMLからJSONへの変換を開始する前に、xmltodictモジュールをインストールする必要があります。 xmltodictモジュールは、python indexパッケージ(pip)を使用してインストールでき、Python 2および3にインストールできます。pip2の場合は、次のコマンドを実行してxmltodictモジュールをインストールします。
pip install xmltodict
pip3を使用している場合は、次のコマンドを実行してxmltodictモジュールをインストールします。
pip3インストールxmltodict
Debianベースのシステムの場合は、次のコマンドを実行してxmltodictモジュールをインストールします。
sudo apt install python-xmltodict上記のコマンドはPython2に適しています。 Python3バージョンの場合は、次のコマンドを実行します。
sudo apt install python3-xmltodict
XMLからJSONへの変換
それでは、XMLデータをJSON形式に変換しましょう。この変換には、xmltodictとJSONモジュールを使用します。 jsonは組み込みのPythonモジュールです。したがって、それらをインストールする必要がなくなります。 xmltodict.parse()関数は、XMLデータをPython辞書に変換します。次に、json.dumps()関数は、変換された辞書オブジェクトを引数として受け取り、さらにそれをJSON形式に変換します。したがって、これは2つのステップのプロセスです。
まず、xmltodict.parse()関数を使用してXMLをPython辞書オブジェクトに変換する必要があります。
次に、json.dumps()関数を使用してPython辞書オブジェクトをJSON形式に変換します。 json.dumps()関数では、データ間にスペースを追加するためにindentプロパティが使用されます。
#モジュールのインポート輸入xmltodict
輸入json
#xmlの宣言
my_xml= '' '
1
マレの庭園
3
インターネット
NS
2
ゴールデンチューリップリトルパレス
4
インターネット
ジム
パーキング
レストラン
NS
'' '
#xmlをPython辞書にカバーする
dict_data=xmltodict。解析する((my_xml)。
#jsonへのカバー
json_data=json。ダンプ((dict_data、インデント=2)。
印刷((json_data)。
出力
出力は、XMLがJSON形式に正常に変換されたことを示しています。
XMLファイルからJSONファイルへの変換
XMLファイルのデータを変換してJSONファイルに保存できます。 XMLファイルを開き、XMLデータをJSONに変換して、JSONファイルに保存しましょう。
以下はXMLファイルです。
#モジュールのインポート
輸入json
輸入xmltodict
#xmlファイルを開く
と 開いた(('hotels.xml'、'NS')。 なのでxmlfileObj:
#xmlデータを辞書に変換する
data_dict=xmltodict。解析する((xmlfileObj。読んだ(()。)。
xmlfileObj。選ぶ(()。
#辞書オブジェクトを使用してJSONオブジェクトを作成する
jsonObj=json。ダンプ((data_dict)。
#jsonデータをjsonファイルに保存する
と 開いた(('hotels.json'、 'の')。 なのでjsonfileObj:
jsonfileObj。書きます((jsonObj)。
jsonfileObj。選ぶ(()。
出力
Pythonインタープリターはエラーを表示しません。これは、JSONデータが.jsonファイルに正常に保存されたことを意味します。
結論
XMLとJSONは、データを格納するための2つの一般的なデータ形式です。 XMLデータは、xmltodictおよびJSONモジュールを使用してJSON形式に変換できます。この記事では、XMLからJSONへのデータ変換について例を挙げて説明します。