使用express.bodyParser时抛出无效的json错误

时间:2013-07-04 06:38:02

标签: json curl express

在我将app.use(express.bodyParser())添加到我的代码之前,一切都运行良好。

在我添加之后,快递一直向我抛出无效的json错误。我想念的是什么?这是我使用的命令行。

curl -d '{"disc":"1"}' -H "Content-Type: application/json" http://localhost:8080

这是日志

Error: invalid json
    at Object.exports.error (C:\Users\123\Documents\googledrive\Google Drive\nodejs\node_modules\express\node_modules\connect\lib\utils.js:60:13)
    at IncomingMessage.module.exports (C:\Users\123\Documents\googledrive\Googl
 Drive\nodejs\node_modules\express\node_modules\connect\lib\middleware\j
on.js:74:71)
    at IncomingMessage.EventEmitter.emit (events.js:93:17)
    at IncomingMessage._emitEnd (http.js:366:10)
    at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:2
)
    at Socket.socket.ondata (http.js:1825:22)
    at TCP.onread (net.js:404:27)

这是我使用的代码

var express = require("express");
var app = express();

app.use(express.bodyParser());

app.post("/",function(request,response){        

    response.send("hello");
    response.end();
});

var port = 8080;
app.listen(port);
console.log("listen on "+port);

1 个答案:

答案 0 :(得分:1)

我通过对curl命令进行一些简单的编辑来解决它。

使用“{\”disc \“:\”1 \“}”而不是'{“disc”:“1”}'

我想这是因为我正在使用日本窗户。看起来好像CURL不承认日本窗户中的'符号。