javascript - try/catch 检查 json 不起作用

标签 javascript json

我想检查收到的字符串是否为 JSON,我尝试了以下代码:

try {
    JSON.parse(-10); // Same for "-10"
}catch(e) {
    console.log('inside catch');
}

代码永远不会进入catch block 内!为什么会这样呢?

最佳答案

A plain value is valid JSON 。这就是为什么您没有记录 'inside catch' 的原因。

document.write(JSON.parse(-10));

但是,这不是有效的 JSON:

try {
    JSON.parse('{');
}catch(e) {
    document.write('inside catch');
}

如您所见,try/catch 工作得很好。

关于javascript - try/catch 检查 json 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824441/

相关文章:

javascript - 为什么 facebook 像素计数事件转换错误?

java - 从 Java 代码将 JSON 文件批量上传/导入到 Azure Cosmos DB

java - 为 json 构建优化类型检查/转换

javascript - XMLHttpRequest 无法加载 *...* 来源 : * is not allowed by Access-Control-Allow-Origin - ON THE SAME SERVER

javascript - 如何有效地随机选择数组项而不重复?

xml - 在nodejs中解码之前验证xml/json

Javascript : Send JSON Object with Ajax?

json - Pyspark:读取对象之间没有分隔符的 JSON 数据文件

javascript - 如何在 Kotlin for Javascript 中为类设置静态属性

javascript - 无法评估 knockout 计算机功能