Как я могу прочитать поток объектов 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
Функция заключается в том, что он будет запускаться несколько раз, по одному разу для каждого объекта. Это потому, что каждый будет проанализирован как полный действительный объект.