JS中如何判断传过来的JSON数据中是否存在某字段


Posted in Javascript onAugust 18, 2014

如何判断传过来的JSON数据中,某个字段是否存在,

1.obj["key"] != undefined

这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了。

2.!("key" in obj)
3.obj.hasOwnProperty("key")

这两种方法就比较好了,推荐使用。

答案原文:

Actually, checking for undefined-ness is not an accurate way of testing whether a key exists. What if the key exists but the value is actually undefined?

var obj = { key: undefined };
obj["key"] != undefined // false, but the key exists!

You should instead use the in operator:

"key" in obj // true, regardless of the actual value

If you want to check if a key doesn't exist, remember to use parenthesis:

!("key" in obj) // true if "key" doesn't exist in object
!"key" in obj // ERROR! Equivalent to "false in obj"

Or, if you want to particularly test for properties of the object instance (and not inherited properties), usehasOwnProperty:

obj.hasOwnProperty("key") // true

Javascript 相关文章推荐
Extjs学习笔记之九 数据模型(上)
Jan 11 Javascript
纯CSS打造的导航菜单(附jquery版)
Aug 07 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
node.js中的fs.unlinkSync方法使用说明
Dec 15 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
Jun 14 Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
详解vue-router 2.0 常用基础知识点之router-link
May 10 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
Mar 25 Javascript
element-ui中el-upload多文件一次性上传的实现
Dec 02 Javascript
jquery中$(#form :input)与$(#form input)的区别
Aug 18 #Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 #Javascript
javascript ajax的5种状态介绍
Aug 18 #Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 #Javascript
js判断浏览器是否支持html5
Aug 17 #Javascript
一段非常简单的js判断浏览器的内核
Aug 17 #Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
Aug 16 #Javascript
You might like
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
php 高效率写法 推荐
2010/02/21 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
python list使用示例 list中找连续的数字
2014/01/27 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
python机器学习之决策树分类详解
2017/12/20 Python
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
经典的班主任推荐信
2013/10/28 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
户外宣传策划方案
2014/05/25 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server