JSON解析对象

时间:2016-02-29 04:42:42

标签: javascript json

我有以下来自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}
        )

2 个答案:

答案 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