如何检查REST Api的JSON请求体,对象属性和结构?

时间:2016-01-09 11:03:52

标签: json node.js api rest express

我正在编写我的第一个api(express / node),其中一个端点接收正文中的json数据:

{
    "text": "some comment here...",
    "tags": [ 
        {"id": 0, "tag": "some tag 1"}, 
        {"id": 123, "tag": "some tag 2"}
    ],
    "date": "1452305028289",
}

是否有某种方法可以检查对象上是否存在所有属性并且它们具有值?或者您是否必须编写自定义函数来检查每个必需的属性和值?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

一个简单的解决方案是这个函数将一个对象和一个字符串列表作为该对象的属性:

var checkProperties = function (obj, props) {
return props
        .map(function(prop) { return obj.hasOwnProperty(prop); })
        .reduce(function (p, q) { return p && q; });
}

像这样使用

checkProperties({ prop1: someValue, prop2: someOtherValue }, ["prop1", "prop2"]); // true