Корневой элемент JSON
Требуется ли JSON для корневого элемента, как в случае xml. Насколько я знаю, это допустимая строка json.
{
"email":[
{
"type":"home",
"name":"[email protected]"
},
{
"type":"work",
"name":"[email protected]"
}
]
}
Мне нужно преобразовать json в xml наоборот. Однако, несмотря на то, что выше приведенный json, когда я конвертирую его в xml, он недопустим? Я что-то пропустил или это нормально?
Ответы
Ответ 1
Самый внешний уровень документа JSON - это либо "объект" (фигурные скобки), либо "массив" (квадратные скобки).
Любое программное обеспечение, которое преобразует JSON в XML, должно примирить тот факт, что они представляют собой разные модели данных с разными правилами. Различные инструменты преобразования обрабатывают эти различия по-разному.
Ответ 2
В соответствии с измененной формой Бэкуса-Наура на правой боковой панели http://json.org/ корневым элементом структуры данных JSON может быть любой из этих семи типов/значений:
Object
Array
String
Number
true
false
null
Примеры
Таким образом, все следующие примеры являются допустимыми корневыми элементами JSON:
{
"name": "Jpsy",
"age": 99
}
[ 1, 2, "three", 4, 5 ]
"abcdefg"
123.45
true
false
null
Ответ 3
Это нормально, json и xml не имеют одинаковых правил. Вы можете перенести корневые скобки "{" и "}" в корневой элемент, чтобы не иметь проблем с преобразованием.