我有以下来自HTTP请求的JSON字符串:
{ '{firstname:\'Joe\'}': '' } // output of console.log(req.body);
我尝试使用以下方法将值打印到控制台:
console.log(req.body.firstname);
但它说价值未定义。我怎样才能得到名字的值?
要了解客户端正在做什么,这就是它发送JSON请求的方式:
//angular2
headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.http.post(
'http://192.168.1.45:3000/test',
JSON.stringify({firstname:'Joe'}), //This is the parameter I want
{headers:headers}
)
答案 0 :(得分:0)
使用JSON.stringify将数组转换为JSON字符串,然后使用JSON.parse将字符串转换回数组
<html>
<head>
<script>
function gettz(){
var str=JSON.stringify({firstname:'Joe'});
console.log(str);
//Parse an object
dataObj = JSON.parse(str);
// get object property
console.log(dataObj.firstname);
}
</script>
</head>
<body>
<input type="button" id="button" value="PrintJson" onclick="gettz();">
</body>
</html>
答案 1 :(得分:0)
当你收到它时,你需要首先解析响应,因为它以字符串形式出现,所以:
var parsedResponse = JSON.parse(req.body);
console.log(parsedResponse.firstname); //Now you can access the object