0

次のコードを使用して、標準の JSON ファイルから結果を選択的に返そうとしています。

var filters = { manufacturer: "Samsung" };

// filters initialised, now getJSON with filters
$.getJSON("phones.json", filters, function(result)
{
    alert(result.phones.length);
}); // end getJSON

私がやりたいのは、「製造元」が Samsung であるオブジェクトのみを返すことです。JSON は次のようになります。

{
    "phones": [{
        "basic": {
            "id" : "1",
            "name": "Samsung Galaxy S III",
            "manufacturer": "Samsung",

などなど...

機能していません。JSON をまったくフィルタリングしていません。誰でも助けることができますか?

ありがとう。

4

1 に答える 1

1

$.getJSON()はフィルタリングをサポートしていないため、phones.jsonサーバー側の処理を行わない静的ファイルであると仮定すると、クライアント側でフィルタリングする必要があります。

$.getJSON("phones.json", function(result)
{
    var filtered = [];
    $.each(result.phones, function(key, value){
        if(value.basic.manufacturer == 'Samsung'){
            filtered.push(value);
        }
    });

    console.log(filtered);
});

上記は、フィルタリングされた電話を に保存しfilteredます。

于 2013-02-20T15:34:05.457 に答える