Ответ 1
Что такое JSON?
JSON (обозначение объекта JavaScript) is a lightweight text-based open standard designed for human-readable data interchange
. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers
.
Заимствование образца JSON из Википедии, представление JSON человека может выглядеть так:
{
"firstName" : "John",
"lastName" : "Smith",
"address" :
{
"street": "21 2nd Street",
"city" : "New York",
"state" : "NY",
"zip" : "10021"
},
"phoneNumber":
[
{
"type" : "home",
"number": "212 555-1234"
},
{
"type" : "fax",
"number": "646 555-4567"
}
]
}
Что такое XML?
XML (расширяемый язык разметки) is a simple, very flexible text format derived from SGML
. Согласно Wikipedia, XML a set of rules for encoding documents in machine-readable form. [... It goals] emphasize simplicity, generality, and usability over the Internet. It is a textual data format[...].
Снова заимствуя образец XML из Википедии, XML-представление человека может выглядеть так:
<person firstName="John" lastName="Smith">
<address street="21 2nd Street" city="New York" state="NY" zip="10021" />
<phoneNumber type="home" number="212 555-1234" />
<phoneNumber type="fax" number="646 555-4567" />
</person>
Сравнение
Основываясь на этих простых определениях, понятно, что можно сделать вывод, что JSON и XML сопоставимы. Если ваша цель состоит в том, чтобы использовать тот или иной для простого обмена данными через Интернет, как показано на простых примерах выше, эта цель, безусловно, достижима, и JSON и XML, действительно, в основном сопоставимы.
Однако, когда вы копаете глубже в спецификации каждого, вы начинаете понимать, что они совершенно разные стандарты с похожими целями; каждый из которых имеет перекрывающиеся варианты использования, где один намного лучше, чем другой, и где они являются эквивалентными решениями (где выбор зависит от конкретного варианта использования).
Хотя это может быть немного предвзято, The Fat-Free Alternative to XML
с сайта JSON содержит несколько хороших точек сравнения. Существуют также записи XML vs JSON !!! Dont compare.
и JSON Pros and Cons
с некоторыми пулевыми точками для сравнения.
Сходства
- Может использоваться для обмена текстовыми данными; нет неясного формата, который нелегко читается людьми.
- Позволяет представлять данные структурированным образом, обеспечивая уровень отношений данных.
- Интернационализация с использованием Unicode.
- Агностик языка программирования; может использоваться во многих языках программирования.
- Может использоваться для сопряжения гетерогенных систем; до тех пор, пока все системы используют согласованный договор представления данных, возможна связь между гетерогенными системами.
- Открытые стандарты; членство в любом руководящем органе не требуется для получения спецификаций (JSON определен в IETF RFС# 4627, а XML определяется как Спецификация W3C), и нет никаких ограничительных лицензий (JSON, XML).
Различия
- JSON имеет простую нотацию, которая может быть быстро принята разработчиками.
- Легкий вес JSON придает ему более высокий уровень удобства работы в Интернете, уменьшая узкие места производительности.
- Простое обозначение JSON, заимствованное из JavaScript, упрощает и улучшает представление/преобразование представления данных в общие структуры данных.
- JSON доступен в ECMAScript, 5th edition, что делает его доступным для всех приложений (в частности, веб-браузеров) со встроенным движком ECMAScript.
- XML - это документ язык разметки, предоставляющий семантику, которая дает дополнительное значение для данных; JSON не обладает этой способностью.
- XML имеет более широкий спектр спецификаций, охватывающих схемы для определения и проверки данных namespaces, stylesheets, , выражения данных и многие другие.
- XML был дольше и широко принят многими компаниями; предоставляя ему большую документацию, поддержку языка программирования, поддержку инструментальных средств, опыт сообщества, готовые продукты и т.д.
- XML надежные стандарты делают его лучшим решением для гибкого (или иногда жесткого... в выгодном смысле) взаимодействия между бизнесом.