我正在尝试从我的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}"
答案 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库。