Подтвердить что ты не робот

Есть ли SaxParser, который читает json и запускает события, поэтому он выглядит как xml

Это было бы здорово, так как это позволяло бы моим xml файлам читать json без каких-либо изменений, кроме разного синтаксического анализа сакса.

4b9b3361

Ответ 1

Если вы имели в виду анализатор событий, то есть пара проектов, которые делают это:

  1. http://code.google.com/p/json-simple/

    Остановимый SAX-подобный интерфейс для потокового ввода текста JSON

    Этот проект переехал на https://github.com/fangyidong/json-simple

  2. http://jackson.codehaus.org/Tutorial

    API потоковой передачи Jackson похож на API Stax

    Этот проект переехал на https://github.com/FasterXML/jackson-core

Ответ 2

Я думаю, что это плохая идея попробовать обработать JSON, как если бы это был XML (это то, что вы по существу задаете); однако Jettison делает именно это. Он предоставляет содержимое JSON через API Stax (javax.xml.stream). И если вы действительно хотите SAX, запись обертки из Stax в SAX также является тривиальной (но не наоборот).

Я также думаю, что вы могли бы получить более качественные ответы, если бы объяснили, чем больше вы пытаетесь достичь, помимо механизмов, которые вы надеетесь использовать. Например, существует множество инструментов привязки данных как для XML, так и для JSON; и использование таких инструментов могло бы скрыть детали более низкого уровня намного лучше, чем использовать абстракцию, предназначенную для обработки другого.

Ответ 3

Я разработал потоковый конвертер на основе StAX: https://github.com/AtomGraph/JSON2XML

Он читает любые данные JSON и создает XML-представление JSON, указанное в XSLT 3.0.

JSON2XML обеспечивает преобразование JSON с XSLT даже без процессора XSLT 3.0. Вы можете просто предварительно обработать данные, используя JSON2XML перед преобразованием, и, например, передать их в таблицу стилей XSLT 2.0. Таким образом, ваша таблица стилей остается совместимой с XSLT 3.0, поскольку представление XML точно такое же.

Обратная связь и запросы на прием приветствуются.