【发布时间】:2021-05-26 13:46:00
【问题描述】:
我正在检查输入值是 json 类型还是不使用 JavaScript,但对于某些特定值它失败了。我在下面解释我的代码。
isJSON = async(str) => {
try {
return (JSON.parse(str) && !!str);
} catch (e) {
return false;
}
}
var testJSON = '{"name": "foo"}'
var number = 22
console.log("result is : ", isJSON(testJSON))
console.log("result is : ", isJSON(number))
这里str 包含输入值,此方法检查值是否为json 类型。但是如果输入值是任何数字,即str=22,那么它也返回true。这里我只需要检查输入值是否为json 类型值。请帮我解决问题。
【问题讨论】:
-
为什么要异步? ....
-
请更新您的问题,使其在内部保持一致,因为 '22' 是有效的 JSON。这意味着修复标题,也许“但如果输入值是任何数字,即 str=22,那么它也返回 true。”也许给我们一些示例输入和匹配输出,这样我们就不必猜测您想要什么。
标签: javascript json