确定JSON数组还是单个对象

时间:2015-08-13 15:24:47

标签: node.js

我是Node.Js的新手。 我正在尝试制作简单的API。

我想将用户保存到MongoDB中。我收到JSON的请求。 我有这条路。但它不起作用。 我怎样才能确定jsonObject是一个对象还是数组?

obj[myKey] = myVal;

我想使用这两种类型的请求:

router.route('/users')
.post(function(req, res) {

    var jsonObject = req.body;


    if(!jsonObject.isArray){
        var user = new User();

        user.name = req.body.name;
        user.phone = req.body.phone;

        user.save(function (err) {
            if (err)
                res.send(err);

            res.json({message: 'User created!'});
        });
    }
    //Array of users
    else{
        for(var i = 0; i < jsonObject.length; ++i){
            var object = jsonObject[i];
            var user = new User();
            user.name = jsonObject[i].name;
            user.phone = jsonObject[i].phone;
            user.save(function (err) {
                if (err)
                    res.send(err);

                res.json({message: 'Users created!'});
            });
        }
    }
})
.get(function (req, res) {
    User.find(function (err, users) {
        if (err)
            res.send(err);

        res.json(users);
    });
});

阵列:

{
"name": "ALONE",
"phone": "43141"
}

1 个答案:

答案 0 :(得分:0)

你可以检查长度

  • var x = [“foo”,“bar”];警报(x.length);
  • var y = {“foo”:“bar”};警报(y.length);

或者您解析响应以检查它是否完全是json:http://www.json.org/js.html

欢呼,乔