Aka*_*esh 5 json node.js npm express
我有Json数据,我在node.js服务器中将其作为发布数据接收.
但问题是,它无法解析我发送的字符串.这是我的node.js服务器代码.
res.header("Access-Control-Allow-Origin", "*");
req.on('data',function(data)
{
var done=false;
console.log(data);
var schema;
schema=JSON.parse(data);
}
Run Code Online (Sandbox Code Playgroud)
在解析json数据(数据)时,我得到错误.
undefined:776
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at IncomingMessage.<anonymous> (/Users/as6/Documents/test/server.js:206:17)
at emitOne (events.js:115:13)
at IncomingMessage.emit (events.js:210:7)
at IncomingMessage.Readable.read (_stream_readable.js:462:10)
at flow (_stream_readable.js:833:34)
at resume_ (_stream_readable.js:815:3)
at _combinedTickCallback (internal/process/next_tick.js:102:11)
at process._tickCallback (internal/process/next_tick.js:161:9)
Run Code Online (Sandbox Code Playgroud)
我使用JSONLint验证了JSON数据的语法错误.但它绝对没问题.我不知道什么是错的以及如何纠正它.
rob*_*lep 14
data事件可以发射多时间,所以你必须收集所有的data值,并一起将它们连接起来,当end事件具有火灾:
let chunks = [];
req.on('data', function(data) {
chunks.push(data);
}).on('end', function() {
let data = Buffer.concat(chunks);
let schema = JSON.parse(data);
...
});
Run Code Online (Sandbox Code Playgroud)
但是,也许您应该考虑使用body-parser.
小智 6
换线
schema = JSON.parse(data);
Run Code Online (Sandbox Code Playgroud)
进入
schema = JSON.parse(JSON.stringify(data));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14272 次 |
| 最近记录: |