Print list of data json

2

I need to get the data from a json file and with that data generate a list corresponding to the category that it belongs to for example if it is the technology category I need to generate a list of all the items that are of that category, if it is from the search category the same thing and so on, and to filter the same fields in the same way, I'll put how my json is structured, and how I started to develop the code, but it's giving error, and json is not my strong, if you can help me thank you

var json = [
  {
        "ID":"1",
        "TÍTULO":"Pesquisa tal...",
        "TIPO":"Pesquisa",
        "CATEGORIA":"Pesquisa",        
        "AUTORES":[
              {
                    "AUTOR":"Fulano da Silva",
                    "INSTITUIÇÃO":"Faculdade tal"
              },
              {
                    "AUTOR":"x da Silva",
                    "INSTITUIÇÃO":"Escola"
              }
        ]
  },
  {
        "ID":"2",
        "TÍTULO":"Tecnologia",
        "TIPO":"Tecnologia",        
        "CATEGORIA":"Tecnologia",
        "AUTORES":[
              {
                    "AUTOR":"y",
                    "INSTITUIÇÃO":"aaa"
              },
              {
                    "AUTOR":"Z",
                    "INSTITUIÇÃO":"SASASA"
              }
        ]
  },
{
        "ID":"3",
        "TÍTULO":"Pesquisa tal...",
        "TIPO":"Pesquisa",
        "CATEGORIA":"Pesquisa",        
        "AUTORES":[
              {
                    "AUTOR":"Fulano da Silva",
                    "INSTITUIÇÃO":"Faculdade tal"
              },
              {
                    "AUTOR":"x da Silva",
                    "INSTITUIÇÃO":"Escola"
              }
        ]
  },
{
        "ID":"4",
        "TÍTULO":"Tecnologia",
        "TIPO":"Tecnologia",        
        "CATEGORIA":"Tecnologia",
        "AUTORES":[
              {
                    "AUTOR":"y",
                    "INSTITUIÇÃO":"aaa"
              },
              {
                    "AUTOR":"Z",
                    "INSTITUIÇÃO":"SASASA"
              }
        ]
  }
]

for(var i=0;i< json.length; i++){
 var html = "<tr>";
 html +="<td>"+json[i].ID+"</td>";
 html +="<td>"+json[i].TÍTULO+"</td>";
 html +="<td>"+json[i].TIPO+"</td>";
 html +="<td>"+json[i].NATUREZA DO TRABALHO+"</td>";
 html +="</tr>";
 $('table tbody').append(html);

}

    
asked by anonymous 23.10.2018 / 03:16

1 answer

2

I believe that what you are looking for is the filter method, with it you can filter your array of objects by the value of one of the properties of your objects.

Here is an example of filter being used in your JSON variable displaying only objects with CATEGORY property with equal value "Search" on the console.

var json = [
  {
        "ID":"1",
        "TÍTULO":"Pesquisa tal...",
        "TIPO":"Pesquisa",
        "CATEGORIA":"Pesquisa",        
        "AUTORES":[
              {
                    "AUTOR":"Fulano da Silva",
                    "INSTITUIÇÃO":"Faculdade tal"
              },
              {
                    "AUTOR":"x da Silva",
                    "INSTITUIÇÃO":"Escola"
              }
        ]
  },
  {
        "ID":"2",
        "TÍTULO":"Tecnologia",
        "TIPO":"Tecnologia",        
        "CATEGORIA":"Tecnologia",
        "AUTORES":[
              {
                    "AUTOR":"y",
                    "INSTITUIÇÃO":"aaa"
              },
              {
                    "AUTOR":"Z",
                    "INSTITUIÇÃO":"SASASA"
              }
        ]
  },
{
        "ID":"3",
        "TÍTULO":"Pesquisa tal...",
        "TIPO":"Pesquisa",
        "CATEGORIA":"Pesquisa",        
        "AUTORES":[
              {
                    "AUTOR":"Fulano da Silva",
                    "INSTITUIÇÃO":"Faculdade tal"
              },
              {
                    "AUTOR":"x da Silva",
                    "INSTITUIÇÃO":"Escola"
              }
        ]
  },
{
        "ID":"4",
        "TÍTULO":"Tecnologia",
        "TIPO":"Tecnologia",        
        "CATEGORIA":"Tecnologia",
        "AUTORES":[
              {
                    "AUTOR":"y",
                    "INSTITUIÇÃO":"aaa"
              },
              {
                    "AUTOR":"Z",
                    "INSTITUIÇÃO":"SASASA"
              }
        ]
  }
]

console.log("Pesquisa");
console.log(json.filter(x => x.CATEGORIA == "Pesquisa"));
//Aperte o botão Executar e abra seu console do browser com F12 para visualizar o JSON filtrado
//no seu console, com um array que só exibe os objetos com CATEGORIA de valor igual a "Pesquisa"
    
23.10.2018 / 05:11