stream流解析成对象
时间: 2023-07-07 19:22:28 浏览: 42
要将一个 stream 流解析成一个对象,你可以使用一个流解析器(stream parser),比如 JSON 解析器。以下是一个使用 Node.js 内置的 JSON 解析器将一个 JSON 格式的 stream 流解析成一个 JavaScript 对象的例子:
```javascript
const http = require('http');
const { StringDecoder } = require('string_decoder');
http.createServer((req, res) => {
let body = '';
const decoder = new StringDecoder('utf-8');
req.on('data', (chunk) => {
body += decoder.write(chunk);
});
req.on('end', () => {
body += decoder.end();
const data = JSON.parse(body);
console.log(data);
res.end('Data received');
});
}).listen(3000);
```
在这个例子中,我们创建了一个 HTTP 服务器,并监听了来自客户端的请求。当客户端发送请求时,我们使用一个 StringDecoder 对象将请求体(request body)的 stream 流转换成一个字符串。然后,我们使用 JSON.parse() 方法将这个字符串解析成一个 JavaScript 对象,最后将解析好的对象打印出来,并向客户端发送一个响应。