NDJSON(Newline Delimited JSON)是一种数据交换格式,其中每行包含一个JSON对象。这种格式非常适合于流式处理,因为它允许逐行读取和处理数据,而不需要一次性加载整个文件。
获取NDJSON响应流通常涉及以下几个步骤:
以下是一个使用Node.js和axios
库获取NDJSON响应流的示例代码:
const axios = require('axios');
async function fetchNdjson(url) {
try {
const response = await axios({
method: 'get',
url: url,
responseType: 'stream'
});
response.data.on('data', (chunk) => {
const lines = chunk.toString().split('\n');
lines.forEach((line) => {
if (line) {
try {
const obj = JSON.parse(line);
console.log(obj);
} catch (error) {
console.error('Error parsing JSON:', error);
}
}
});
});
response.data.on('end', () => {
console.log('Stream ended');
});
response.data.on('error', (error) => {
console.error('Stream error:', error);
});
} catch (error) {
console.error('Error fetching data:', error);
}
}
// 使用示例
fetchNdjson('https://example.com/api/data.ndjson');
NDJSON格式常用于以下场景:
JSON.parse
会抛出错误。可以通过捕获异常来处理这种情况。error
事件来处理这种情况。通过以上方法,你可以有效地获取和处理NDJSON响应流。
领取专属 10元无门槛券
手把手带您无忧上云