📅  最后修改于: 2023-12-03 15:32:44.574000             🧑  作者: Mango
Lodash是一个流行的JavaScript实用工具库,提供了许多常用的功能函数。其中,_.isJSON()
方法用于检查一个值是否为JSON对象。
_.isJSON(value)
参数:
value
:要检查的值。返回值:
如果给定的值是JSON对象,则返回 true
,否则返回 false
。
const json = {"name":"John", "age":30, "city":"New York"};
console.log(_.isJSON(json)); // true
const arr = [1, 2, 3];
console.log(_.isJSON(arr)); // false
const str = "hello world";
console.log(_.isJSON(str)); // false
Lodash的 _.isJSON()
方法实现非常简单,基本上只是检查给定的值是否为对象类型并且是否可以通过 JSON.stringify()
方法序列化为JSON字符串。如果满足这两个条件,则返回 true
。
下面是 _.isJSON()
方法的源代码:
function isJSON(value) {
return typeof value === 'object' && value !== null && !isArray(value) && isObjectLike(value) && !isRegExp(value) && !(value instanceof Date)
? isPlainObject(value) || hasToStringTag(value)
: false;
}
Lodash的 _.isJSON()
方法可以方便地检查一个值是否为JSON对象。虽然实现原理比较简单,但是在实际开发中经常会用到。需要注意的是,JSON对象必须是通过 {}
或 new Object()
来创建的对象,否则可能无法通过检查。