javascript - 检查 JSON 对象是否包含某些值的良好且快速的方法

标签 javascript json

我正在寻找直接的方法来检查从后端收到的 JSON 是否包含我需要的值,而不抛出异常或创建 if 语句的 for 循环。

我希望它看起来像这样:

success = function(requestBody, xhr, options){
    jsonObj = JSON.parse(requestBody);
    if (!json.path.to.item.is.very.deep[0].really[3]){
        responseErrorHandler(requestBody, xhr, options)
    }
    // More Code here
}

这段代码显然不起作用,因为如果 I.E. json 对象没有 item 对象,抛出错误并且代码停止。

我可以创建一个 for 循环并解析 json,但我喜欢看到快捷方式。

最佳答案

抛出错误 - 这是一件好事,你可以处理它!将访问值的尝试(并且仅该行,以避免捕获不相关的错误)包装在 try-catch 中,例如:

try {
    var x = json.path.to.item.is.very.deep[0].really[3];
} catch(e) {
    // ... handle failure... 
    return;
}
if (typeof x !== "number") { // or whatever you need
    // ... handle failure...
    return;
}
// handle success

关于javascript - 检查 JSON 对象是否包含某些值的良好且快速的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28474760/

相关文章:

php - 如何在 PHP 中将 HTML 代码添加到 JSON?

javascript - 如何从选定的表格行中获取最小和最大数量?

javascript - Auth0 在用户登录后使用我自己的数据库进行 CRUD

c# - 将 mm/dd/yyyy 转换为 JsonDate 格式

javascript - Json 上的 Switch 语句?

javascript - 通用代码可以在C和Javascript中使用

javascript - 无法使用 Nodejs 将元数据添加到 strip 客户订阅创建中?

javascript - 如何反混淆这段 JavaScript 代码?

javascript - 如何在 Hexo 源文件中使用 helpers?

java - 如何在java中提取嵌入在JSON文件中的XML