XML インスタンス を JSON に変換する( JSON から XML インスタンスに変換する)

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > メニューコマンド > 変換メニュー >

XML インスタンス を JSON に変換する( JSON から XML インスタンスに変換する)

アクティブなドキュメントが XML ドキュメントの場合、 このコマンドは、 JSON ドキュメントを生成します。アクティブなドキュメントが JSON ドキュメントの場合、 コマンドは、 XML ドキュメントを生成します。 生成されたドキュメントは、 新規の ウィンドウで開かれ、希望する場所で保存することができます。  変換オプションについては下で説明されています。 に関する詳しい情報は、XMLSpy 内での JSON と JSON 編集へのサポートに関しては、以下のセクションを参照してください: JSON と JSON スキーマ

 

変換のサンプル

ソース XML ドキュメントのサンプルは以下のとおりです。JSON ドキュメントは、「 XML インスタンス を JSON に変換する」( JSON から XML インスタンスに変換する) コマンドにより生成されます。

 

XML ドキュメント

 

<?xml version="1.0" encoding="UTF-8"?>

<Person first="Jim" last="James">

  <Address>

    <street>4 New Street</street>

    <city>New York</city>

    <state>NY</state>

    <code>10123</code>

  </Address>

  <Tel type="home">

      123 123-1234

  </Tel>

  <Tel type="office">

      123 987-9876

  </Tel>

</Person>

 

JSON ドキュメント

 

{

 "XML": {

         "version": 1.0, 

         "encoding": "UTF-8"

 }, 

 "Person": {

         "first": "Jim", 

         "last": "James", 

         "Address": {

                 "street": "4 New Street", 

                 "city": "New York", 

                 "state": "NY", 

                 "code": 10123

         }, 

         "Tel": [ { "type": "home", 

                 "Text": "\r      123 123-1234\r  "}, { "type": "office", 

                 "Text": "\r      123 987-9876\r  "} ]

 }

}

 

 

JSON ドキュメントを XML に変換するには、JSON ドキュメントをアクティブにし、 「XML インスタンス を JSON に変換する」( JSON から XML インスタンスに変換する) コマンドをクリックします。

 

XML から JSON への変換オプション

「XML インスタンス を JSON に変換する」( JSON から XML インスタンスに変換する) コマンドをクリックすると、XML インスタンスドキュメントを JSON インスタンスドキュメントに変換する XML から JSON への変換 ダイアログ (下のスクリーンショット)が表示されます。 変換オプションを設定し、「OK」 をクリックします。JSON インスタンスドキュメントが XML インスタンスから生成され、 生成された JSON ドキュメントは、新しいウィンドウでひらかれます。

JSONConvertXMLInstance2JSON

最初の2つのオプションは、同じレベルでの要素の競合を回避するためにプレフィックスが JSON プロパティ名 に追加されるかを定義します。  下の2つのリストが上記を説明しています。XML 属性 somenode は、 JSON プロパティ @somenode に変換されています。このように、 (XML 要素 somenode から作成された) JSON プロパティ somenode との競合が回避されます。

 

XML インスタンス

 

<root somenode="value">

    <somenode>content</somenode>

</root>

 

 

JSON インスタンス

 

{

    "root": {

        "@somenode": "value",

        "somenode": "content"

    }

}

 

 

次のオプションにより、特定の XML ノードの型が変換されるかを指定することができます。 XML コメントが含まれている場合は、"#" という名前が与えられます。(複合型コンテンツを持つ要素内で通常発生する)テキストノードは "$" という名前を与えられます。XML ノードが名前空間プレフィックスを持つ場合、対応する JSON の名前は、この名前空間プレフィックスを使用して作成されます。同じ名前を持つ要素が、同じレベルに存在する場合、等価 コンポーネントと考えられます。 同様に、同じレベルに存在する ノード、処理命令、とテキスト() は、等価 コンポーネントと考えられます。等価 コンポーネントが同じレベルに存在すると、配列を作成するか否かを選択することができます。すべての等価 コンポーネント、近隣する等価コンポーネントから配列を作成するか、または、配列を作成しないオプションを選択することができます。

 

XML スキーマ型情報の使用 オプションによりソースノードの XML スキーマ型をベースに行うことができます。例えば、ノードがスキーマ内で型 xs:string として定義されている場合、ターゲット JSON オブジェクトプロパティはJSON 型 string になり、引用符で囲まれます。これはとても役に立ちます。例えば、ソースノード内で文字列として保管されている数値の JSON への変換は型に従い行われます。 .

 

JSON から XML への変換オプション

XML インスタンス を JSON に変換する」( JSON から XML インスタンスに変換する) コマンドをクリックすると、JSON インスタンスドキュメントを XML インスタンスドキュメントに変換する 「JSON から XML に変換」ダイアログ が表示されます(下のスクリーンショット)。 変換オプションを設定し、 「OK」 をクリックします。XML インスタンスドキュメントが JSON インスタンスから生成され、生成された XML ドキュメントは、新しいウィンドウで開かれます。

JSONConvertJSONInstance2XML

以下の点に注意してください:

 

JSON オブジェクトプロパティは、 XML 要素に変換されます。 ダイアログ内の最初のオプションによりプロパティの型が作成されるかを選択することができます。
プロパティ名内のエンコードコロン: 選択されると、JSON の名前内のコロンはエンコードされ、コロンとして作成されません。選択されていない場合、コロンはそのままで保持されます。
JSON 値の情報の保持: 選択されると、 プロパティの JSON 型 情報は、対応する要素の属性-値ペアとして作成されます。
JSON 配列のためにコンテナー要素を作成する:  XML ドキュメント内のコンテナー要素が JSON 配列オブジェクトの名前として与えられます。JSON 配列のアイテムは、このコンテナー内の XML 要素として作成されます。配列アイテム要素名 テキストボックス内で指定される名前がそれぞれに与えられます。

 


(C) 2019 Altova GmbH