2016-12-15 13 views
0

私はこのようなJSONファイルがあります:「食べ物」:「カテゴリ」を持っているすべての「名前」を取得する方法JSONから特定のデータを取得する方法は?

[ 
     {"category":"food","id":"07","name":"hey"}, 
     {"category":"not","id":"06","name":"hey1"}, 
     {"category":"food","id":"05","name":"hey2"}, 
     {"category":"not","id":"04","name":"hey3"} 
    ] 

を? 私はこのようにしようとしていますが、正しく動作しません。

$.getJSON("test.json", function(data) { 
     var items = []; 
     $.each(data, function(key, val) { 
     if (val.category = "food"){ 
     items.push("<li>" + val.name + "</li>"); 
     } 
    }); 

    $("<ul/>", { 
     "class": "my-new-list", 
     html: items.join("") 
    }).appendTo("div"); 
    }); 

答えて

0

あなたは===オペレータ(あなたの代わりに==を使用することができますが、それは===を使用するより良い練習と考えられています)を使用することを忘れていました。 if (val.category = "food")は常にtrueと評価され、実際にcategoryの値が変更されるため、書かれたコードではオブジェクトのすべての要素が含まれます。

以下の修正。

if (val.category === "food"){ 
     items.push("<li>" + val.name + "</li>"); 
} 
関連する問題