2012-05-03 10 views
17

JSONはxmlの場合のようにルート要素を必要としますか?私の知る限り、これは有効なjson文字列です。JSONルート要素

{ 
    "email":[ 
     { 
      "type":"home", 
      "name":"[email protected]" 
     }, 
     { 
      "type":"work", 
      "name":"[email protected]" 
     } 
    ] 
} 

jsonをxmlに変換する必要があります。しかし、私はxmlに変換するとき、上記は有効なjsonですが、それは有効ではありませんか?私は何かを逃しているのですか、これは正常ですか?

+0

変換にどのライブラリを使用していますか、どのようなエラーが表示されていますか? –

答えて

21

JSON文書の最外層は、「オブジェクト」(中括弧)または"array"(大括弧)。

JSONをXMLに変換するソフトウェアは、異なるルールを持つ異なるデータモデルであるという事実を調整する必要があります。異なる変換ツールは、これらの違いをさまざまな方法で処理します。

+2

これについての標準的な参照はありますか?私はどこでもそれを検証できません。正しくフォーマットされた要素(配列、オブジェクト、文字列、数値など)は技術的には有効なJSONルート要素ですが、最初の2つは子を持つことができる唯一の要素です。 – GrayWizardx

+7

実際には2つの異なるJSON仕様があります。 RFC 4627では、JSONテキストをオブジェクトまたは配列にする必要があります。 ECMA-262、第5版、第15.12項はこの制限を課していない。 –

+1

[RFC 7159、セクション2 "JSON文法"](https://tools.ietf.org/html/rfc7159#section-2)がこの制限を削除し、 "ルート"としての任意の値を許可しているようです。 –

2

これは正常ですが、jsonとxmlには同じ規則がありません。ルートブラケット "{"と "}"をルート要素に変換して、変換に問題がないことを確認してください。

関連する問題