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"}