12.2.5 JSON-XML変換APIの使用例
JSON-XML変換APIの使用例を次に示します。
- 〈この項の構成〉
(1) JSON→XML変換
JSON-XML変換APIを使用して,JSON形式のデータをXML形式のデータに変換する場合の実装例を次に示します。
import jp.co.Hitachi.soft.csc.common.converter.json.DataConvertException;
import jp.co.Hitachi.soft.csc.common.converter.json.JsonXmlConverterFactory;
import jp.co.Hitachi.soft.csc.common.converter.json.JsonXmlConverterProperty;
import jp.co.Hitachi.soft.csc.common.converter.json.JsonXmlConverter;
/**JSON-XML変換の実装例(JSON→XML)*/
public class TestClass{
public void testMethod(String json_str)throws DataConvertException{ ※1
try{
//JSON-XML変換クラスのファクトリクラスを生成
JsonXmlConverterFactory factory=JsonXmlConverterFactory.newInstance();
//変換定義を設定するクラスを取得
JsonXmlConverterProperty property=factory.createConverterProperties();
//変換定義を設定(オブジェクト名[data-object]を設定)
property.setObjectName("data-object");
//JSON-XML変換を行うクラスを生成
JsonXmlConverter converter=factory.newJsonXmlConverter(property);
//JSONデータ(String)→XMLデータ(String)に変換します。
String xml_str = converter.json2Xml(json_str); ※2
}catch(DataConvertException e){
//例外処理
//・スタックトレース出力処理(発生した例外をJ2EEサーバに伝播させ例外ログに出力,
または標準エラーストリームに出力など)
//・変換に使用したデータの出力処理など
e.printStackTrace();
throw e;
}catch(Exception e){
//省略
}catch(Throwable t){
//省略
}
}
}- 注※1
-
変換対象のデータ(JSONデータ(String))を示します。
{"key":"val"} - 注※2
-
変換結果のデータ(XMLデータ(String))を示します。
<?xml version="1.0" encoding="UTF-8"?> <data-object> <key>val</key> </data-object>
(2) XML→JSON変換
JSON-XML変換APIを使用して,XML形式のデータをJSON形式のデータに変換を行う場合の実装例を次に示します。
import jp.co.Hitachi.soft.csc.common.converter.json.DataConvertException;
import jp.co.Hitachi.soft.csc.common.converter.json.JsonXmlConverterFactory;
import jp.co.Hitachi.soft.csc.common.converter.json.JsonXmlConverter;
/**JSON-XML変換の実装例(XML→JSON)*/
public class TestClass {
public void testMethod(String xml_str)throws DataConvertException{ ※1
try{
//JSON-XML変換クラスのファクトリクラスを生成
JsonXmlConverterFactory factory=JsonXmlConverterFactory.newInstance();
//JSON-XML変換を行うクラスを生成
JsonXmlConverter converter=factory.newJsonXmlConverter();
//XMLデータ(String)をJSONデータ(String)に変換します。
String json_str=converter.xml2Json(xml_str); ※2
}catch (DataConvertException e){
//例外処理
//・スタックトレース出力処理(発生した例外をJ2EEサーバに伝播させ例外ログに出力,
または標準エラーストリームに出力など)
//・変換に使用したデータの出力処理など
e.printStackTrace();
throw e;
}catch(Exception e){
//省略
}catch(Throwable t){
//省略
}
}
}- 注※1
-
変換対象のデータ(XMLデータ(String))を示します。
<?xml version="1.0" encoding="UTF-8"?> <data-object> <key>val</key> </data-object>
- 注※2
-
変換結果のデータ(JSONデータ(String))を示します。
{"key":"val"}