JS中判斷JSON數(shù)據(jù)是否存在某字段的方法
如何判斷傳過來的JSON數(shù)據(jù)中,某個(gè)字段是否存在,
1.obj["key"] != undefined
這種有缺陷,如果這個(gè)key定義了,并且就是很2的賦值為undefined,那么這句就會(huì)出問題了。
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
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
相關(guān)文章
JavaScript高級(jí)程序設(shè)計(jì) 閱讀筆記(十八) js跨平臺(tái)的事件
js跨平臺(tái)的事件經(jīng)驗(yàn)分享,需要的朋友可以參考下2012-08-08javascript實(shí)現(xiàn)輸出指定行數(shù)正方形圖案的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)輸出指定行數(shù)正方形圖案的方法,可實(shí)現(xiàn)javascript獲取用戶輸入及根據(jù)輸入?yún)?shù)打印圖形的功能,需要的朋友可以參考下2015-08-08怎樣用Javascript實(shí)現(xiàn)建造者模式
這篇文章主要介紹了怎樣用Javascript實(shí)現(xiàn)建造者模式,想學(xué)習(xí)設(shè)計(jì)模式的同學(xué),可以參考下2021-04-04JavaScript實(shí)現(xiàn)常用二級(jí)省市級(jí)聯(lián)下拉列表的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)常用二級(jí)省市級(jí)聯(lián)下拉列表的方法,實(shí)例分析了javascript實(shí)現(xiàn)級(jí)聯(lián)下拉列表的技巧與相關(guān)的元素操作方法,需要的朋友可以參考下2015-03-03詳解微信小程序框架wepy踩坑記錄(與vue對(duì)比)
這篇文章主要介紹了詳解微信小程序框架wepy踩坑記錄(與vue對(duì)比),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03Javascript中獲取出錯(cuò)代碼所在文件及行數(shù)的代碼
之前在做一個(gè)Javascript的日志控制臺(tái)功能模塊,希望能夠在Javascript代碼出錯(cuò)時(shí)捕獲此錯(cuò)誤,并將出錯(cuò)的文件及相應(yīng)的行數(shù)打印到控制臺(tái)并匯報(bào)給服務(wù)器。2010-09-09