gpt4 book ai didi

javascript - 如何在 JSON 对象中搜索特定字符串值?

转载 作者:行者123 更新时间:2023-12-02 13:49:21 25 4
gpt4 key购买 nike

我想搜索 JSON 对象以检查它是否包含存储在数组中的字符串值。并找出父元素。

var searchVal = ['name_1a','name_2y','name_3x'];

var json = {
"location": {
"title1x": {
"1": "name_1x",
"2": "name_2x",
"3": "name_3x",
},
"title2y": {
"1": "name_1y",
"2": "name_2y",
"3": "name_3y",
},
}

"object": {
"title1a": {
"1": "name_1z",
"2": "name_2z",
"3": "name_3z",
},
"title2b": {
"1": "name_1a",
"2": "name_2a",
"3": "name_3a",
},
}
};

我想将结果传递到函数中。并分别处理它们。

name_1a -> function(title2b, object)
name_2y -> function(title2y, object)
name_3x -> function(title1x, location) etc.

。这是我到目前为止所尝试过的。我似乎不知道如何遍历整个 JSON 对象

var searchVal = ['name_1a','name_2y','name_3x'];
for (var i=0 ; i < searchVal.length ; i++){
for (var k=0 ; k < ????.length ; k++)
{
if (json.???????? == searchVal[i]) {
results.push(???????);
console.log(results);

}
}
}

最佳答案

使用下面的代码,您可以递归地找到您要查找的内容:

var json = {
"location": {
"title1x": {
"1": "name_1x",
"2": "name_2x",
"3": "name_3x",
},
"title2y": {
"1": "name_1y",
"2": "name_2y",
"3": "name_3y",
},
},
"object": {
"title1a": {
"1": "name_1z",
"2": "name_2z",
"3": "name_3z",
},
"title2b": {
"1": "name_1a",
"2": "name_2a",
"3": "name_3a",
},
}
};

var searchTest = function(varToSearch, jsonData) {

for (var key in jsonData) {
if(typeof(jsonData[key]) === 'object') {
searchTest(varToSearch, jsonData[key]);
} else {
if(jsonData[key] == varToSearch) {
console.log(jsonData[key]);
}
}
}

}

searchTest('name_1a', json);

引用:

get data from dynamic key value in json

get value from json with dynamic key

https://trinitytuts.com/tips/get-dynamic-keys-from-json-data/

How do I enumerate the properties of a JavaScript object?

Check if a value is an object in JavaScript

关于javascript - 如何在 JSON 对象中搜索特定字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41125675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com