あなたは再帰関数でこれを試してみて、解決できるが、これはのような配列を出力
function parse(string, key, before) {
return before+key+":"+string;
}
function findString(string, json, before) {
var results = [];
for (var key in json) {
if (typeof(json[key]) === "string") { // it is a string
if (json[key].contains(string)) { // it contains what it needs to
results.push(parse(string, key, before));
}
} else { // it is an object
Array.prototype.push.apply(results, findString(string, json[key], before+key+":"));
}
}
return results;
}
var json = {
data: {
countries: "['abc','pqr','xyz']",
movies: {
actor: "['abc','pqr','xyz']",
movie: "['abc','pqr','x toyz']"
},
oranges: {
potatoes: "['abc','pqr','xyz']",
zebras: {
lions: "['abc','pqr','xyz']",
tigers: "oh my!" // does not get added
}
}
}
};
console.log(findString("pqr", json.data, ""));
を呼び出します。
Array [ "countries:pqr", "movies:actor:pqr", "movies:movie:pqr", "oranges:potatoes:pqr", "oranges:zebras:lions:pqr" ]
が含まれている必要がありますでしたあなたが検索する必要があるものについてもっと具体的にする - JSONの特定のキーまたは特定の値を探しているか?質問の性質をよりよく理解するために、入力と出力の例がありますか? – Davis
私はちょうどあなたが理解することができる質問を更新する? – Vigikaran
それはかなり理解しやすいです。私は解決策のアイディアを持っています。私はすぐにそれを持っていきます。 – Davis