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連携やデータ変換処理など、異なるフォーマット間でのデータ受け渡しが必要な場面で非常に役立つ手法です。
-
JavaでJSONをパース(解析)する方法|org.json・Gson・JsonPathの使い方を解説
このチュートリアルでは、JavaでJSONを解析(パース)する方法を、複数のライブラリの使い方とあわせて解説します。 JSONとは「JavaScript Object Notation」の略称で、JavaScriptのサブセットをベースとした軽量なデータ形式です。 データ交換フォーマットとして広く普及しており、Webプログラミングにおいて不可欠な技術となっています。本記事では、org.jsonライブラリを使ったJSONのパース方法を中心に紹介します。 まず基本をおさらいしましょう。JSONオブジェクトは「キーと値のペア」から構成される順序のない集合です。一方、JSON配列は値が順序付けて格納さ
-
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