26

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

{
    "email":[
        {
            "type":"home",
            "name":"john.doe@gmail.com"
        },
        {
            "type":"work",
            "name":"jdoe@gmail.com"
        }
    ]
}

JSONをXMLに、またはその逆に変換する必要があります。ただし、上記はXMLに変換すると有効なJSONですが、無効ですか?私は何かが足りないのですか、それともこれは正常ですか?

4

3 に答える 3

36

JSONドキュメントの最も外側のレベルは、「オブジェクト」(中括弧)または「配列」(角括弧)のいずれかです。

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

更新(2021-09-03):コメントに記載されているように、JSON仕様の後続の反復では、最も外側のレベルを文字列、数値、ブール値、またはnullにすることができます。

于 2012-05-03T09:23:20.157 に答える
16

http://json.org/の右側のペインにある変更されたBackus-Naur-Formによると、JSONデータ構造のルート要素は次の7つのタイプ/値のいずれかになります。

Object
Array
String
Number
true
false
null

したがって、次の例はすべて有効なJSONルート要素です。

{
  "name": "Jpsy",
  "age": 99
}
[ 1, 2, "three", 4, 5 ]
"abcdefg"
123.45
true
false
null
于 2018-12-07T16:51:30.360 に答える
2

これは正常です。jsonとxmlには同じルールがありません。ルートブラケット「{」と「}」をルート要素に変換して、変換の問題が発生しないようにすることができます。

于 2012-05-03T07:27:58.650 に答える