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 相关文章推荐
jQuery 入门讲解1
Apr 15 Javascript
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
javascript实现动态统计图开发实例
Nov 21 Javascript
AngularJS基础 ng-value 指令简单示例
Aug 03 Javascript
简单的js计算器实现
Oct 26 Javascript
web打印小结
Jan 11 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
Jul 07 Javascript
VUE+node(express)实现前后端分离
Oct 13 Javascript
微信小程序自定义导航栏(模板化)
Nov 15 Javascript
深入理解redux之compose的具体应用
Jan 12 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
php 文件状态缓存带来的问题
2008/12/14 PHP
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
小程序实现列表点赞功能
2018/11/02 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
TensorFlow实现Batch Normalization
2018/03/08 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
建筑设计师岗位职责
2013/11/18 职场文书
百度吧主申请感言
2014/01/12 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
汽车车尾标语大全
2015/08/11 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js