Print json data list

Asked

Viewed 138 times

2

I need to take the data of a json file and with this data generate a list corresponding to the category it belongs to for example if it is of the technology category need to generate a list of all the items that are of this category, if it is of the category of research the same thing and so on, and to filter in the same way the other fields, I will put as it is structured my json, and as I started to develop the code, but ta giving error, and json is not my strong, if you can help me thank

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);

}

1 answer

2


I believe what you’re looking for is the method filter, with it you can filter your object array by the value of one of the property of your objects.

Follow an example from filter being used in its JSON variable displaying in the console only objects with CATEGORY property with equal value "Search".

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"

Browser other questions tagged

You are not signed in. Login or sign up in order to post.