1. ホーム
  2. javascript

jQueryでJSONツリーを検索する方法

2023-10-25 01:06:15

質問

JSONから特定の情報を検索することについて質問があります。例えば、以下のようなJSONファイルがあります。

 {
    "people": {
        "person": [
            {
                "name": "Peter",
                "age": 43,
                "sex": "male"
            }, {
                "name": "Zara",
                "age": 65,
                "sex": "female"
            }
        ]
    }
}

私の質問は、どのようにjQueryで名前によって特定の人を見つけ、その人の年齢を表示することができますか? 例えば、私はピーターという人をJSONで検索し、一致するものを見つけると、例えばその人の年齢など、その一致した人(この場合はピーターという人)に関する追加情報を表示したいのです。

どのように解決するのですか?

var json = {
    "people": {
        "person": [{
            "name": "Peter",
            "age": 43,
            "sex": "male"},
        {
            "name": "Zara",
            "age": 65,
            "sex": "female"}]
    }
};
$.each(json.people.person, function(i, v) {
    if (v.name == "Peter") {
        alert(v.age);
        return;
    }
});

.

これを元に 答え のようなものを使えばよいでしょう。

$(function() {
    var json = {
        "people": {
            "person": [{
                "name": "Peter",
                "age": 43,
                "sex": "male"},
            {
                "name": "Zara",
                "age": 65,
                "sex": "female"}]
        }
    };
    $.each(json.people.person, function(i, v) {
        if (v.name.search(new RegExp(/peter/i)) != -1) {
            alert(v.age);
            return;
        }
    });
});

例2