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 相关文章推荐
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
js怎么终止程序return不行换jfslk
May 30 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
JS函数this的用法实例分析
Feb 05 Javascript
jQuery中deferred对象使用方法详解
Jul 14 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
JS实现中文汉字按拼音排序的方法
Oct 09 Javascript
vue项目首屏加载时间优化实战
Apr 23 Javascript
JavaScript实现多球运动效果
Sep 07 Javascript
vue实现可移动的悬浮按钮
Mar 04 Vue.js
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
PHP6 mysql连接方式说明
2009/02/09 PHP
php 获取客户端的真实ip
2009/11/30 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
微信小程序 动画的简单实例
2017/10/12 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
python异步存储数据详解
2019/03/19 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python 绘制可视化折线图
2020/07/22 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
餐饮业的创业计划书范文
2013/12/26 职场文书
营销团队口号
2014/06/06 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
建国大业电影观后感
2015/06/01 职场文书
红楼梦读书笔记
2015/06/25 职场文书
2019个人工作总结
2019/06/21 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
 python中的元类metaclass详情
2022/05/30 Python