当我使用邮递员并向数组元素发布带有一些字符的帖子时,我不知道如何使其正确使用json
[{"name":"alpha","password":"123","id":4},"{\r\n \"name\" : \"test\",\r\n \"password\" : \"password3\",\r\n \"id\": 5\r\n}\r\n"]
与上述输出一样
{"name":"alpha","password":"123","id":4}
这是我发布此值时的默认值
{\r\n \"name\" : \"test\",\r\n \"password\" : \"password3\",\r\n \"id\": 5\r\n}\r\n"
我的代码中还有一些额外的字符串
app.post("/postUser", function (req, res) {
req.on("data", function (data) {
console.log(data.toString());
fs.readFile("test.json", "utf8", function (readErr, fileData) {
if (readErr) {
console.error(readErr);
}
newData = JSON.parse(fileData);
newData[newData.length] = data.toString();
fs.writeFile("test.json", JSON.stringify(newData), "utf8", function (writeErr) {
if (writeErr) {
console.error(writeErr);
}
console.log("Finished writing!");
});
});
});
});
答案 0 :(得分:0)
数据仍然是utf8字符串,因此包括标准的换行符。您可以在服务器中添加正文解析器,以简化生活(https://www.npmjs.com/package/body-parser)。
app.use(bodyParser.json())
...
app.post("/postUser", (req, res) => {
console.log(req.body);
}
编辑 您还应该确保使用内容类型application / json将请求发送到服务器;