节点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}) );