JavaScript YAML Parser

Я ищу JavaScript-анализатор YAML, который преобразует YAML в нечто, пригодное для использования на HTML-странице. Я пробовал эту версию на Github (https://github.com/visionmedia/js-yaml), но похоже, что она работает только с node.js

Какие библиотеки я должен использовать, и есть ли какой-нибудь пример кода, чтобы показать пример использования?

Ответ 1

JS-YAML парсер работает в браузере. Здесь онлайн-демонстрация http://nodeca.github.com/js-yaml/. Хотя, главная цель - node.js, а версия браузера была сделана просто для удовольствия:)

Ответ 2

извините за ответ на старое сообщение, но я столкнулся с той же проблемой, что и вы.

Ни один из доступных анализаторов YAML для javascript не удовлетворил мои потребности, поэтому я разработал свой собственный: Он доступен здесь: http://code.google.com/p/javascript-yaml-parser/

Надеюсь, это поможет кому-то:)

Cumps, Диого

Ответ 3

Вот что я нашел. Не уверенный в том, какая часть спецификации встречается, но она соответствует моим потребностям.

https://github.com/jeremyfa/yaml.js

Ответ 4

js-yaml отлично работает в Safari, Chrome и Firefox на OSX. Вот пример:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Test js-yaml</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="./js-yaml/dist/js-yaml.min.js"></script>
    <script type="text/javascript">

        // YAML string to Javascript object
        var obj = jsyaml.load( 'greeting: hello\nname: world' );
        console.log( obj );

        // YAML file to Javascript object
        $.get( 'https://raw.githubusercontent.com/nodeca/js-yaml/c50f9936bd1e99d64a54d30400e377f4fda401c5/benchmark/samples/document_application2.yaml', function( data ) {
            var obj = jsyaml.load( data );
            console.log( obj );
        });

        // Huge YAML file (7.2 MB) to Javascript object
        $.get( 'https://raw.githubusercontent.com/nodeca/js-yaml/master/benchmark/samples/document_huge.yaml', function( data ) {
            var obj = jsyaml.load( data );
            console.log( obj );
        });

    </script>
</head>
<body>
<h1>Test js-yaml</h1>
<p><a href="#" onclick="location.href='https://github.com/nodeca/js-yaml'; return false;">https://github.com/nodeca/js-yaml</a></p>
</body>
</html>