JavaでJSONオブジェクトをXML形式に変換する方法【org.json.XMLクラスの使い方】
JSONは軽量なデータ交換フォーマットであり、キーと値のペア(key-value pair)の形式でデータを表現します。Javaでは、org.json.XMLクラスを利用することで、JSONObjectを簡単にXML形式へ変換できます。このクラスは、XMLテキストをJSONObjectへ変換する静的メソッドと、JSONObjectをXMLテキストへ変換する静的メソッドを提供しています。
特に、XML.toString()メソッドを使うと、JSONオブジェクトを整形式(well-formed)かつ要素が正規化されたXML文字列に変換することが可能です。
構文(Syntax)
public static java.lang.String toString(java.lang.Object object) throws JSONException
サンプルコード(Example)
以下の例では、従業員情報を含むJSON文字列を定義し、ルート要素「root」を持つXML文字列へ変換しています。
import java.io.*;
import org.json.*;
public class JSONtoXMLTest {
public static void main(String[] args) throws JSONException {
String json = "{employee : { age:30, name : Raja, technology:Java}}";
// JSONをXMLへ変換
String xml = convert(json, "root"); // JSONオブジェクトをXML文字列に変換するメソッド
System.out.println(xml);
}
public static String convert(String json, String root) throws JSONException {
JSONObject jsonObject = new JSONObject(json);
String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<" + root + ">"
+ XML.toString(jsonObject) + "</" + root + ">";
return xml;
}
}実行結果(Output)
上記のコードを実行すると、以下のようなXMLが出力されます。
<?xml version="1.0" encoding="ISO-8859-15"?>
<root>
<employee>
<name>Raja</name>
<technology>Java</technology>
<age>30</age>
</employee>
</root>ポイントまとめ
- 変換にはorg.json.XMLクラスのXML.toString()メソッドを使用する。
- 引数にはJSONObjectを渡し、戻り値としてXML形式の文字列が返される。
- 必要に応じてXML宣言やルート要素を自前で連結して、完全なXMLドキュメントを構築できる。
-
JSONテキストをJavaScriptのJSONオブジェクトに変換する方法を解説
JavaScriptでは、JSON.parse()メソッドを使用することで、JSON形式のテキスト文字列をJavaScriptオブジェクトへと変換できます。このメソッドは、APIから取得したデータやサーバーとの通信で受け取ったJSON文字列を、プログラム内で扱いやすいオブジェクトにパースする際に非常に重要な役割を果たします。 以下は、JSONテキストをJavaScriptオブジェクトに変換する具体的なコード例です。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /&
-
JavaのMapをJSONに変換する3つの方法(Jackson・Gson・org.json)
JavaのMap(マップ)をJSONに変換する方法はいくつかあります。Javaでは、配列やMapとJSONの相互変換を行う場面が非常に多く、Web APIとのデータ連携などでも欠かせない処理です。 この記事では、代表的なライブラリであるJackson、Gson、org.jsonを使用して、JavaのMapをJSONに変換する3つの具体例をサンプルコード付きで解説します。 Jacksonを使ってJavaのMapをJSONに変換する 最初の例では、Jackson Core と Jackson Databind を使ってJavaのMapをJSONに変換します。 Jacksonライブラリを使用するには