gpt4 book ai didi

javascript - 如何通过 Joi 检查值是对象还是对象数组

转载 作者:行者123 更新时间:2023-12-02 21:47:19 25 4
gpt4 key购买 nike

我的请求正文可以是单个 JSON 对象或 JSON 对象数组:

单个 JSON 对象

{
"name" : "item 1",
"description" : "item 1 description"
}

JSON 对象数组

[{
"name" : "item 1",
"description" : "item 1 description"
}, {
"name" : "item 2",
"description" : "item 2 description"
}
]

我想通过celebrate/Joi验证这些案例

export const Create = celebrate({
[ Segments.BODY ]: Joi.any() // how can I handle them here
});

最佳答案

如何使用普通 JavaScript 判断项目是数组还是对象:

    const arrayOrObject = (item) => {
if (item instanceof Array) return ‘array’;
else if (item instanceof Object) return ‘object’;
return null;
}

使用Joi进行类似的“数组或对象”测试:

    const Joi = require('@hapi/joi');

const isArray = (item) => !Joi.array().validate(item).error;
const isObject = (item) => !Joi.object().validate(item).error;

let arr = [1,2,3];
console.log(isArray(arr)); // true
console.log(isObject(arr)); // false

obj = {foo: "bar"};
console.log(isArray(obj)); // false
console.log(isObject(obj)); // true

关于javascript - 如何通过 Joi 检查值是对象还是对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60221755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com