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 相关文章推荐
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
javascript中判断json的方法总结
Aug 27 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
AngularJS中的按需加载ocLazyLoad示例
Jan 11 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP 日期加减的类,很不错
2009/10/10 PHP
linux iconv方法的使用
2011/10/01 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
python求crc32值的方法
2014/10/05 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
python实现dijkstra最短路由算法
2019/01/17 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
python实现udp传输图片功能
2020/03/20 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
linux面试题参考答案(4)
2013/01/28 面试题
艺术设计专业个人求职信范文
2013/12/11 职场文书
初三学生个人自我评定
2014/04/06 职场文书
工作证明格式及范本
2014/09/12 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
社区节水倡议书
2015/04/29 职场文书
撤诉书怎么写
2015/05/19 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书