От новичка до гуру: Курсы программирования на CyberDuff

Как преобразовать XML-элементы E4X в нотацию JSON

У меня есть серверная реализация сценария ECMA, включая возможность использования E4X. Поскольку это довольно элегантно для людей, не знакомых с JavaScript и нотацией JSON, и мы хотим создать API, который будет наиболее простым в освоении, я хочу использовать это для своего API.

В настоящее время я оцениваю, могу ли я использовать это в своей среде. Одна функция Showstopping, которую я должен использовать, заключается в преобразовании этих XML-объектов E4X в JSON-совместимые объекты JavaScript или строки на лету. Я не могу использовать XSLT здесь, потому что я должен оставаться внутри JavaScript.

Итак, вопрос в том, есть ли простой способ конвертировать XML-элементы E4X в JSON? Или мне нужно написать какой-то код, чтобы преобразовать его самостоятельно?

17.03.2011

Ответы:


1

Вы можете использовать XSLT для преобразования XML в JSON.

Например, используя: http://code.google.com/p/xml2json-xslt/

Однако вы можете получить очень XML-подобный и излишне сложный JSON. Это сделает ваш код более сложным для написания и поддержки.

API, как правило, должен быть стабильным во времени, поэтому может быть, что какой-то выделенный XSLT для каждого вызова может быть лучшим вариантом, чем общий.

17.03.2011
  • Спасибо за ваш ответ, но я боюсь, что не смогу использовать xslt, потому что мне нужно оставаться в серверной среде (которая ограничена JavaScript или, скорее, ECMA Script). Или я действительно могу выполнять преобразования xslt внутри JavaScript? Так что я не говорю здесь о файлах XML. Я говорю об XML-элементах E4X внутри JavaScript. Я думаю, здесь кроется недоразумение. 17.03.2011
  • Может быть, вы можете добавить ссылку на таблицу стилей XSLT <?xml-stylesheet type="text/xsl" href="convert2Json.xsl"?> в ответ XML, и браузер должен преобразовать ее 17.03.2011
  • Мммм... это не может работать вместе с JSONP... Вы уверены, что не можете сделать XSLT-преобразование на своем сервере? Это довольно базовая функция всех парсеров XML. 17.03.2011
  • Еще одна вещь... в некоторых браузерах вы можете сделать это преобразование в Javascript. Но я никогда не делал этого на сервере. 17.03.2011
  • Еще раз, спасибо за все ваши ответы, но я не могу использовать ни одной функции сервера, кроме движка JavaScript. Я вообще не в браузере! Этот проект не веб-страница или что-то в этом роде. Я просто хотел узнать, есть ли простой способ конвертировать объекты класса E4X XML в простые старые объекты JavaScript. 18.03.2011
  • Новые материалы

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

    «Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
    TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

    Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
    Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

    Все о кейсах: Camel, Snake, Kebab & Pascal
    В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..