Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編


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