我正在尝试在javascript中为对象的键设置类型。 var obj = {}; obj.name = string; obj.age =数字; obj.approve = false; 它更像是设计mongoose模式。例如
var mongo = require('mongoose');
var mySchema = new mongo.Schema({
"name":{type: String},
"version":{type: String},
"author":{type:String}
});
这样在保存对象mongoose时检查类型。 如何在声明时使用普通的javascript对象执行此功能。这样我就可以对对象的传入API请求执行类型检查。 我希望你们都明白我想要达到的目标。
答案 0 :(得分:1)
您需要使用JSON模式验证程序,如下所示: https://www.npmjs.com/package/ajv
简短的例子:
var Ajv = require('ajv');
var ajv = Ajv();
var schema = {
"type": "object",
"properties": {
"foo": { "type": "number" },
"bar": { "type": "string" }
},
"required": [ "foo", "bar" ]
};
var data = { "foo": 1 };
var validate = ajv.compile(schema);
console.log(validate(data)); // false