Javascript 如果JSON键不存在捕获错误

Javascript 如果JSON键不存在捕获错误

在本文中,我们将讨论当javascript对象中不存在键时的错误处理情况。

JSON是一种字符串格式,用双引号将javascript对象内封起来。

示例:

'{"site": "gfg"}'

JSON对象文字是JSON字符串中的JavaScript对象。

示例:

{"site": "gfg"}

key/value对 出现在JSON对象字面量内部,这是表示JavaScript对象的格式。在上面的示例中, key 是”site”,而这个key的 value 是”gfg”。

现在,回到问题陈述,我们需要找出一个给定的key是否存在于JavaScript对象中,并根据此条件给出一个合适的响应。让我们讨论两种不同的方法来解决这个问题:

方法1: 使用 hasOwnProperty 方法:

这个方法返回一个布尔值;如果JavaScript对象具有其参数中传递的 自有属性 ,则返回 true ,否则返回 false

注意: 这里的 自有属性 指的是在对象定义期间定义的属性,即定义在对象本身上的属性,而不是从原型对象继承的属性。

示例:

JavaScript

let obj = {'key': 'value'} 
  
if (obj.hasOwnProperty('key')) { 
    console.log(true) 
} else { 
    console.log(false) 
}

输出:

true

现在,这种方法只在obj不为null或undefined时起作用。当obj为null或undefined时,我们可以修改上面的代码让它像这样工作:

Javascript

let obj; 
  
if (obj && obj.hasOwnProperty('key')) { 
    console.log(true) 
} else { 
    console.log(false) 
}

输出:

false

JavaScript 中, &&是逻辑 AND 运算符,当遇到一个假值条件时,它不允许 JavaScript 解释器继续执行。

方法2: 使用 JavaScript 中的 in 属性:

in 运算符返回一个布尔值,如果指定的属性直接存在于对象本身或对象的原型链中,则返回 true ,否则返回 false

示例:

Javascript

let obj = {'key': 'value'} 
  
if ('key' in obj) { 
    console.log(true) 
} else { 
    console.log(false) 
}

输出:

true

这个方法也仅在obj不为null或undefined时有效。为了使其在所有情况下都起作用,请用类似的方式操纵代码。

Javascript

let obj; 
  
if (obj && 'key' in obj) { 
    console.log(true) 
} else { 
    console.log(false) 
}

输出:

false

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程