欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

json找所有父級

陳宇航1年前5瀏覽0評論

JSON是現在最流行的數據交換格式之一,其具有簡潔、易讀、易寫的特點,被廣泛應用于不同的編程語言中。在JSON數據中,有時候需要查找某個節點的所有父級節點,本文將會介紹如何實現這個功能。

//假設我們有一個JSON對象如下:
var jsonData = {
"name": "Alice",
"age": 20,
"address": {
"province": "Guangdong",
"city": "Shenzhen",
"district": "Nanshan"
}
};
//查找所有父級節點的函數實現如下:
function findParent(json, childKey) {
var parentList = [];
function traverse(obj, key) {
if (obj !== null && typeof obj === "object") {
for (var k in obj) {
if (obj.hasOwnProperty(k) && obj[k] === childKey) {
parentList.push(key);
} else if (obj.hasOwnProperty(k)) {
traverse(obj[k], k);
}
}
}
}
traverse(json, null);
return parentList;
}
//使用方式如下:
var parentList = findParent(jsonData, "Nanshan");
console.log(parentList); //輸出 ["district", "address"]

上述代碼中,我們定義了一個名為findParent的函數用于查找JSON對象中所有父級節點,該函數接受兩個參數:一個JSON對象和所需查找的子節點的key值。函數中,我們使用遞歸的方式遍歷JSON對象中所有的key值,當遍歷到與子節點key值相同的節點時,我們將該節點的key值加入到parentList中。遞歸過程中,我們需要注意排除value為null、undefined、string等無需繼續遞歸的情況。

最后我們使用該函數來查找"district"節點的所有父級節點,發現"district"的父節點依次為"address"和根節點,結果正確無誤。

下一篇php tar xz