节点js发送json主体作为响应

用不同的信息重新发布这个问题。

我有3个参数。

response.writeHead(200, { 'Content-Type': 'text/json' }); response.end({ID:'bufid',Name: bufname,address: bufaddrss}); } 

这不起作用。 在这里我想发送给最终用户在200 OK一个JSON正文为:

 {'ID; :'123', 'Name': 'alice', 'address': 'xxxxx'} 

这里bufid,bufname和bufaddrss是由函数决定的值,可以在任何地方访问(他们是全局的)

我怎么能发送这些信息

首先你必须认识到以下几点:

 {ID:'bufid',Name: bufname,address: bufaddrss} 

不是JSON。 JSON是一个协议。 这是一个string,用JavaScript对象字面值语法的语法对javascript对象进行编码(因此大多数人对“JSON”这个词的理解混乱)。

您首先需要将该对象转换为JSON格式的string。 幸运的是,节点带有一个内置的方法: JSON.stringify()

 response.end( JSON.stringify({ID: bufid,Name: bufname,address: bufaddrss}) );