一、判斷JSON是否存在某個值
想要在JSON數據中判斷是否存在指定的值,可以使用JavaScript中的in運算符,示例代碼如下:
const jsonData = { "name": "Alice", "age": 28, "gender": "female" }; if("name" in jsonData){ console.log("存在name鍵值對,name的值為" + jsonData.name); }else{ console.log("不存在name鍵值對"); }
上述代碼中,先定義一個JSON格式的數據對象jsonData。接著使用in運算符判斷是否存在name鍵值對,如果存在則輸出這個鍵值對的值,不存在則輸出不存在的信息。
二、判斷JSON是否存在某個鍵值
在JSON數據中判斷是否存在指定的鍵值對,可以使用JavaScript中的hasOwnProperty方法,示例代碼如下:
const jsonData = { "name": "Alice", "age": 28, "gender": "female" }; if(jsonData.hasOwnProperty("name")){ console.log("存在name鍵值對,name的值為" + jsonData.name); }else{ console.log("不存在name鍵值對"); }
上述代碼中,先定義一個JSON格式的數據對象jsonData。接著使用hasOwnProperty方法判斷是否存在name鍵值對,如果存在則輸出這個鍵值對的值,不存在則輸出不存在的信息。
三、判斷欄位是否存在
在JSON數據中判斷是否存在指定的欄位,可以使用JavaScript中的typeof關鍵字,示例代碼如下:
const jsonData = { "name": "Alice", "age": 28, "gender": "female", "center": { "x": 100, "y": 200 } }; if(typeof jsonData.center !== "undefined"){ console.log("存在center欄位,它的值為" + JSON.stringify(jsonData.center)); }else{ console.log("不存在center欄位"); }
上述代碼中,先定義一個JSON格式的數據對象jsonData,其中包含了一個center欄位,這個欄位的值是一個JSON格式的子對象。接著使用typeof關鍵字判斷center欄位是否存在,如果存在則輸出這個欄位的值,不存在則輸出不存在的信息。
四、判斷嵌套JSON中是否存在指定的鍵值
在JSON數據中,還可以使用遞歸的方式來判斷是否存在指定的鍵值,示例代碼如下:
const jsonData = { "name": "Alice", "age": 28, "gender": "female", "center": { "x": 100, "y": 200 } }; function checkKeyExist(jsonData, key){ for(let i in jsonData){ if(i === key){ return true; }else if(typeof jsonData[i] === 'object'){ if(checkKeyExist(jsonData[i], key)){ return true; } } } return false; } if(checkKeyExist(jsonData, "x")){ console.log("存在鍵值對x"); }else{ console.log("不存在鍵值對x"); }
上述代碼中,首先定義了一個JSON格式的數據對象jsonData,其中包含了一個center欄位,這個欄位的值是一個JSON格式的子對象。接著定義一個函數checkKeyExist,這個函數用來遞歸判斷JSON數據中是否存在指定的鍵值。最後調用函數checkKeyExist判斷是否存在x鍵值對,如果存在則輸出存在的信息,不存在則輸出不存在的信息。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293858.html