JS中判断JSON数据是否存在某字段的方法


Posted in Javascript onMarch 07, 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 相关文章推荐
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
Aug 15 Javascript
Javascript 面向对象 对象(Object)
May 13 Javascript
js中eval详解
Mar 30 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
解析Vue2 dist 目录下各个文件的区别
Nov 22 Javascript
图解JS原型和原型链实现原理
Sep 15 Javascript
JavaScript实现网页计算器功能
Oct 29 Javascript
JS实现公告上线滚动效果
Jan 10 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 #Javascript
JS调试必备的5个debug技巧
Mar 07 #Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 #Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 #Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 #Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 #Javascript
jquery中常用的函数和属性详细解析
Mar 07 #Javascript
You might like
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
php正则表达匹配中文问题分析小结
2012/03/25 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
php多文件上传实现代码
2014/02/20 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
php导入模块文件分享
2015/03/17 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
Prototype Object对象 学习
2009/07/12 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
React组件的三种写法总结
2017/01/12 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
vue实现输入框自动跳转功能
2020/05/20 Javascript
给Python初学者的一些编程技巧
2015/04/03 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
python实现桌面壁纸切换功能
2019/01/21 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
实用求职信范文分享
2013/12/25 职场文书
项目建议书模板
2014/05/12 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
社区党务工作总结2015
2015/05/19 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android