NODEJS无法发送json格式的响应?

时间:2014-08-13 19:34:32

标签: javascript node.js

我正在尝试从我的nodejs应用程序向客户端发送json响应。但是,响应似乎没有正确的格式,有人能指出我做错了什么吗?

以下是我的代码的子集

var insertdata = "create-fail";
var updatedata = "update-fail";
var deletedata = "delete-fail";

insertdata = "{ create:pass ,";
updatedata = "update:pass ,";
deletedata = "delete:pass }";

var jsondata = insertdata+updatedata+deletedata;
res.send(JSON.stringify(jsondata));

输出浏览器:

" {create:pass,update:pass,delete:pass}"

3 个答案:

答案 0 :(得分:1)

JSON.stringify应该接收一个对象,而不是一个字符串。

var jsondata = {'create':'pass', 'update':'pass', 'delete':'pass'};
res.send(JSON.stringify(jsondata));

答案 1 :(得分:1)

这是一个对象:

object = { hello: 1 }

这是一个字符串:

string = "{ 'hello': 1 }"

字符串看起来与对象类似,因为它的格式是JSON(Javascript Object Notation),其灵感来自上面声明的object

对象不能通过互联网传播,但字符串可以。您可以使用JSON.stringify()

从对象转到字符串
string = JSON.stringify(object)

当您在另一侧收到时,请使用JSON.parse()

返回
object = JSON.parse(string)

答案 2 :(得分:0)

jsondata是一个字符串 - 然后你将它固定住了。如果您正在使用jQuery,请使用$.parseJSON或使用json2库。