Изменить: этот ответ для IE & lt; 7, для современных браузеров проверьте ответ Джонатана выше.
Редактирование: этот ответ устарел и Ответ Джонатана выше (JSON.parse(jsonString)
) теперь лучший ответ.
JSON.org имеет парсер JSON для многих языков, включая 4 разных для Javascript. Я считаю, что большинство людей рассмотрят json2.js свою реализацию goto.
Существует различие, да.
XML, который придерживается стандарт XML , считают хорошо сформированным, в то время как xml, который придерживается DTD, считают допустимым.
Ну, XML, который не хорошо формируется, вид по определению, не является XML. Poeple обычно обращаются к допустимому XML как XML, который придерживается определенной схемы (XSD или DTD).
Я добавлю, что допустимый XML также подразумевает, что это правильно построено, но правильно построенный XML не обязательно допустим.
В дополнение к вышеупомянутому DTD существует 2 других способа описать и проверить XML-документы, XMLSchema и RelaxNG, оба из которых могут быть легче использовать и поддерживать больше функций, чем DTD.
XML правильно построен, если отвечает требованиям для всех XML-документов, изложенных стандартами - так вещи как наличие единственного корневого узла, наличие узлов, правильно вложенных, все узлы, имеющие закрывающий тэг (или использующие пустую стенографию узла наклонной черты перед закрывающей угловой скобкой), атрибуты, заключаемые в кавычки и т.д. Быть правильно построенным просто означает, что придерживается правил XML и может поэтому быть проанализировано правильно.
XML допустим, если он проверит против DTD или схемы. Это, очевидно, отличается от случая до случая - XML, который допустим против одной схемы, не будет допустимо против другой схемы, даже при том, что это все еще правильно построено.
, Если XML не правильно построен, он не может быть правильно проанализирован - синтаксические анализаторы просто выдадут исключение или сообщат об ошибке. Это универсально, и не имеет значения, что содержит Ваш XML. Только, как только это анализируется, может он быть проверенным на законность. Этот домен или контекстно-зависимый и требует, чтобы DTD или схема проверили против. Для простых XML-документов у Вас не может быть DTD или схемы, в этом случае Вы не можете знать, допустим ли XML - понятие или законность просто не применяются в этом случае. Конечно, это не означает, что Вы не можете использовать его, это просто означает, что Вы не можете сказать, допустимо ли это.
Правильно построенный XML является XML, который отвечает синтаксическим требованиям языка. Пропавшие без вести любых закрывающих тэгов, наличие всего Вашего одиночного элемента отмечают использование <whatever />
вместо всего <whatever>
и наличие Ваших закрывающих тэгов в правильном порядке.
Допустимый XML является XML, который использует DTD и выполняет все его требования. Таким образом, при использовании атрибута неправильно Вы нарушаете DTD и не допустимы.
Весь допустимый XML правильно построен, но не весь правильно построенный XML допустимо.
Как другие сказали, правильно построенный XML соответствует спецификации XML, и допустимый XML соответствует данной схеме.
Другой способ поместить его состоит в том, что правильно построенный XML лексически корректен (это может быть проанализировано), в то время как допустимый XML грамматически корректен (это может быть подобрано к известному словарю и грамматике).
XML-документ не может быть действительным, пока это не правильно построено. Все XML-документы сохранены к тому же стандарту для отмеченности (RFC, произведенный W3). Один XML-документ может быть действительным против некоторых схем и недопустимым против других. Существует много языков схемы, многие из которых самостоятельно основаны на XML.
Допустимый XML является XML, который следует за проверкой против DTD.
Хорошо сформировался, XML является XML, который имеет все теги, закрытые в надлежащем порядке и, если это имеет объявление, это имеет его сначала вещь в файле с надлежащими атрибутами.
, Другими словами, законность относится к семантике, отмеченность относится к синтаксису.
, Таким образом, Вы можете иметь недопустимый хорошо, сформировал XML.
Если XML подтверждает правила DTD, то это действительный XML. Если XML-документ соответствует правилам XML (все теги запущены закрыты, есть корневой элемент и т. д.) тогда это правильно сформированный XML.