Есть ли потоковый API для JSON? [закрыто]

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

65
задан genesis 5 September 2011 в 18:06
поделиться

5 ответов

В ответ на Ваш 2-й вопрос, нет, много языков имеют синтаксические анализаторы JSON. PHP, Java, C, Ruby и многие другие. Просто Google для языка по Вашему выбору плюс "синтаксический анализатор JSON".

-7
ответ дан Ryan Doherty 6 September 2011 в 05:06
поделиться

DOM я предполагаю, что Вы подразумеваете, что синтаксический анализатор читает весь документ сразу, прежде чем можно будет работать с ним. Обратите внимание, что высказывание, DOM имеет тенденцию подразумевать XML, в эти дни, но IMO, который не является действительно точным выводом.

Так, в ответе на Ваши вопросы - "Да", существует потоковый API и "Нет", DOM не является единственным путем. Тем не менее обрабатывая документ JSON, поскольку поток часто проблематичен в этом, много объектов не являются простыми парами поля/значения, но содержат другие объекты как значения, которые необходимо проанализировать для обработки, и это имеет тенденцию заканчиваться рекурсивная вещь. Но для простых сообщений можно сделать полезные вещи с находящимся на потоке/событии синтаксическим анализатором.

я записал синтаксический анализатор события получения по запросу для JSON (это был один класс, приблизительно 700 строк). Но большинство других, которое я видел, является ориентированным документом. Один из слоев, которые я создал сверху своего синтаксического анализатора, является устройством считывания с документов, которое взяло приблизительно 30 LOC. Я только когда-либо использовал свой синтаксический анализатор на практике в качестве загрузчика документа (по вышеупомянутой причине).

я уверен, ищете ли Вы сеть, Вы найдете получение по запросу и основанные на нажатии синтаксические анализаторы для JSON.

РЕДАКТИРОВАНИЕ: Я имею , отправил синтаксический анализатор на мой сайт для загрузки. Включены рабочий компилируемый класс и полный пример.

EDIT2: Вы также захотите посмотреть веб-сайт JSON .

22
ответ дан Lawrence Dol 6 September 2011 в 05:06
поделиться

Некоторые анализаторы JSON предлагают инкрементный («потоковый») анализатор; для Java, по крайней мере, следующие парсеры со страницы json.org предлагают такой интерфейс:

(дополнительно к синтаксическому анализатору Software Monkey, на который ссылается другой ответ )

На самом деле странно, что так много парсеров JSON НЕ предлагают этот простой низкоуровневый интерфейс - в конце концов, они уже должны реализовать низкоуровневый синтаксический анализ, так почему бы не раскрыть его.

РЕДАКТИРОВАТЬ (июнь 2011 г.): Gson тоже имеет свой собственный потоковый API (с gson 1.6)

59
ответ дан 24 November 2019 в 15:02
поделиться

LitJSON поддерживает API потокового стиля. Цитата из руководства :

«Альтернативный интерфейс для обработки данных JSON, который может быть знаком некоторым разработчикам, - это классы, которые позволяют читать и записывать данные в потоковом режиме. Эти классы являются JsonReader и JsonWriter .

«Эти два типа фактически являются основой этой библиотеки, и тип JsonMapper построен на их основе, так что в некотором смысле разработчик может думать о классах чтения и записи как о низкоуровневом программном интерфейсе для LitJSON ».

3
ответ дан 24 November 2019 в 15:02
поделиться

Ответ на заголовок вопроса: YAJL библиотека парсера JSON на C:

YAJL запоминает все состояние, необходимое для поддержки перезапуска парсинга. Это позволяет выполнять синтаксический разбор постепенно по мере считывания данных с диска или из сети.

Так что, я думаю, использование yajl для разбора JSON можно рассматривать как обработку потока данных.

1
ответ дан 24 November 2019 в 15:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: