13.5 JSON変換ツールの注意事項
文字コードとBOMについての注意事項を次に示します。
-
JSON変換ツールの入力ファイルとして指定するファイルの文字コードは,UTF-8である必要があります。ほかの文字コードの場合,結果が正しく出力されない可能性があります。JSON変換ツールが生成するファイルの文字コードはUTF-8です。
-
JSON変換ツールの入力ファイルにBOMが付与されている場合,BOMは取り除いて処理されます。JSON変換ツールが生成するファイルにBOMは付与されません。
マッピング対象外の要素を含むXMLスキーマについての注意事項を次に示します。
-
入力するJSON形式のデータによっては,マッピング対象外の要素となるXMLスキーマが生成される可能性があります。その場合,XMLスキーマを手動で修正してください。
-
choiceの最小出現回数が0となるケース
次の図に示すように,JSON形式データをそれぞれ別の入力ファイルとして準備します。cscjson2xsdコマンドをディレクトリ指定で実行すると,最小出現回数が0となるchoice構造のXMLスキーマが生成されます。生成されたXMLスキーマをマッピング定義エディタで確認すると,配下の要素がanonymousとなり,BBB要素,およびCCC要素へのマッピングができません。この場合,次の修正によってマッピングができるようになります。
・choiceの最小出現回数を1とする
・choice配下のBBB要素とCCC要素の最小出現回数を0とする
図13‒6 choice構造によりマッピング対象外となるXMLスキーマ例 -
sequenceの最小出現回数が0になるケース
次の図に示すように,JSON形式データをそれぞれ別の入力ファイルとして準備します。cscjson2xsdコマンドをディレクトリ指定で実行すると,最小出現回数が0となるsequence構造のXMLスキーマが生成されます。生成されたXMLスキーマをマッピング定義エディタで確認すると,配下の要素がanonymousとなり,BBB要素,およびCCC要素へのマッピングができません。この場合,次の修正によりマッピングができるようになります。
・BBB要素とCCC要素を囲むsequenceを削除
・BBB要素とCCC要素の要素の最小出現回数を0とする
図13‒7 sequence構造によりマッピング対象外となるXMLスキーマ例
-
-
JSON形式データのオブジェクト出現順序について
XML形式データをJSON形式データに変換する場合,JSON形式データの出現順は,変換前のXML形式データの出現順になります。このため,データ変換後のXML形式データから,JSON形式データの出現順を制御したい場合は,XMLスキーマを修正して出現順を変更してください。
図13‒8 生成するJSON形式データの出現順の制御