我从req.query解析字符串?

时间:2017-11-07 10:18:09

标签: node.js express

我应该从express中的req.query中检索字符串。我正在实现RESTFul API,我的代码看起来像

router.get('/', function(req, res) {

    var count = req.query.count;
    var sorting = req.query.sort;
    //let obj = JSON.parse(sorting)


    if(count == "true") {
        user.find({}, function(err, users) {
            if(err){
                res.status(404).send({
                    message: err,
                    data: []
                });
            } else {
                res.status(200).send({
                    message: 'OK ttt',
                    data: users.length
                });
            }
    });
    } 

我们说

var sorting = req.query.sort

给我{\“name \”:1}“

我想从中解析出“名字”。

我用过

JSON.parse(sorting)

但它返回了一个对象,而不是一个字符串。

2 个答案:

答案 0 :(得分:2)

JSON.parse确实返回一个对象:从传递给函数的JSON字符串解析的对象。在这种情况下,它将返回对象{name: 1}

要获取name属性的值,您可以执行以下操作:

var name = JSON.parse(sorting).name;

答案 1 :(得分:1)

您可以通过将已解析的数据存储在变量中然后访问其属性来访问name属性的值:

var parsedSorting = JSON.parse(sorting)
console.log(parsedSorting.name) // will log the value of name