如何从JSON获取特定数据?

时间:2016-12-15 20:29:34

标签: javascript arrays 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" );
   });

1 个答案:

答案 0 :(得分:0)

您忘记使用===运算符(您可以使用==代替,但使用===更好的做法)。您编写的代码将包含对象中的每个元素,因为if (val.category = "food" )将始终评估为true,它实际上将更改category值。

修复如下。

if (val.category === "food"){
        items.push( "<li>" + val.name + "</li>" );
}