Как я могу прочитать поток объектов JSON в браузер

Учитывая node.js поток объекта стиля, как показано в примере ниже, как это может быть прочитано http запрос на сайте и обработан:

{"id":"one",   "value":"the first object"}
{"id":"two",   "value":"the second object"}
{"id":"three", "value":"the third object"}

1 ответ

Прогрессивный разбор http-запроса - это то, что хорошо для oboe.js. То, что вы хотите отправить, похоже на то, что называется JSON Lines. Технически, oboe поддерживает получение только одного действительного объекта или массива JSON. Но я обнаружил, что вы можете заставить его работать на ваши данные:)

oboe('/data.json')
  .node('{id value}', function(x) {
    console.log('object', x)
  })
  .node('!', function(x) {
    console.log('root', x)
  })

Ты можешь использовать oboe на запрос на загрузку данных (он использует собственный XMLHttpRequest под капотом). Тогда вы используете node добавить слушателя для любого объекта, который имеет как id собственность и values свойство, или для любого объекта корневого уровня с !, Обратите внимание, что вам не нужно использовать оба.

Вы можете просмотреть рабочий пример здесь и исходный код здесь.

Gotcha: Одна вещь, о которой стоит знать, если вы пытаетесь использовать гобой done Функция заключается в том, что он будет запускаться несколько раз, по одному разу для каждого объекта. Это потому, что каждый будет проанализирован как полный действительный объект.

Другие вопросы по тегам