Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでXMLをJSON配列に変換する方法

JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットであり、キーと値のペア形式でデータを表現します。Javaでは、org.json.XMLクラスを使用することで、XMLをJSON配列へ簡単に変換できます。このクラスが提供する静的メソッドXML.toJSONObject()を使えば、XML文字列をJSONObjectに変換することが可能です。

構文

public static JSONObject toJSONObject(java.lang.String string) throws JSONException

このメソッドはXML形式の文字列を引数として受け取り、対応するJSONObjectを返します。変換処理中に問題が発生した場合はJSONExceptionがスローされるため、適切な例外処理が必要です。

実装例:XMLからJSON配列への変換

以下は、XML文字列をJSON配列に変換する具体的なサンプルコードです。

import org.json.*;

public class ConvertXMLToJSONArrayTest {
    public static String xmlString = "<?xml version=\"1.0\" ?><root><test attrib=\"jsontext1\">tutorialspoint</test><test attrib=\"jsontext2\">tutorix</test></root>";
    
    public static void main(String[] args) {
        try {
            JSONObject json = XML.toJSONObject(xmlString); // XMLをJSONに変換
            String jsonPrettyPrintString = json.toString(4); // 整形して出力
            System.out.println(jsonPrettyPrintString);
        } catch(JSONException je) {
            System.out.println(je.toString());
        }
    }
}

コードのポイント

  • XML.toJSONObject():XML文字列をJSONObjectオブジェクトに変換します。
  • json.toString(4):インデント幅4で整形された(pretty print)JSON文字列を取得できます。
  • 例外処理:不正なXMLや変換エラーに備えて、JSONExceptionをcatchブロックで処理しています。

出力結果

{"root": {"test": [
    {
      "attrib": "jsontext1",
      "content": "tutorialspoint"
    },
    {
      "attrib": "jsontext2",
      "content": "tutorix"
    }
]}}

解説

この例では、同じ名前を持つ複数の<test>要素が存在するため、org.jsonライブラリは自動的にそれらをJSON配列として扱います。各要素の属性「attrib」とテキストコンテンツ「content」が、それぞれキーとして変換されていることがわかります。

このように、org.json.XMLクラスを利用すれば、外部ライブラリを最小限に抑えつつ、シンプルなコードでXMLとJSONの相互運用を実現できます。API連携やデータ変換処理など、異なるフォーマット間でのデータ受け渡しが必要な場面で非常に役立つ手法です。

  1. JavaでJSONをパース(解析)する方法|org.json・Gson・JsonPathの使い方を解説

    このチュートリアルでは、JavaでJSONを解析(パース)する方法を、複数のライブラリの使い方とあわせて解説します。 JSONとは「JavaScript Object Notation」の略称で、JavaScriptのサブセットをベースとした軽量なデータ形式です。 データ交換フォーマットとして広く普及しており、Webプログラミングにおいて不可欠な技術となっています。本記事では、org.jsonライブラリを使ったJSONのパース方法を中心に紹介します。 まず基本をおさらいしましょう。JSONオブジェクトは「キーと値のペア」から構成される順序のない集合です。一方、JSON配列は値が順序付けて格納さ

  2. JavaでList(リスト)を配列に変換する方法|toArray()とArrays.asList()の使い方

    Javaの開発において、List(リスト)と配列(Array)の相互変換は非常によく使われる基本的な操作です。 Listを配列に変換する最も簡単かつ推奨される方法は、.toArray()メソッドを使うことです。逆に、配列をListに戻したい場合は、Arrays.asList()メソッドを使用します。 以下では、文字列(String)のListや整数(Integer)のListを、それぞれ対応する配列に変換する具体例を紹介します。 String型のListを配列に変換する import java.util.ArrayList; import java.util.List; public cl