Ir ao conteúdo
  • Cadastre-se

JQuery Acessar array dentro de um objeto Jquery


Posts recomendados

Oie pessoal, eu to com um problema já quebrei a cabeça demais e não consegui resolver, to tentando fazer um livesearch, o problema é que o meu arquivo Json tenho dois objetos dentro dele e dentro de cada um tenho arrays, eu não to conseguindo acessar determinado item do arquivo por não saber acessar arrays dentro de objetos com Jquery, sou iniciante se puderem me ajudar agradeceria demais. 

Gostaria de acessa number por exemplo, fazer uma busca com os valores dentro de sons.

$(document).ready(function(){
 $.ajaxSetup({ cache: false });
 //pega o campo digitado no search
 $('#search').keyup(function(){
    //mostra o resultado na lista
  $('#result').html('');
  //define o valor como vazio 
  $('#state').val('');
  //pega o primeiro valor de search 
  var searchField = $('#search').val();
  //cria um objeto pra realizar a busca e esse objeto pega o dado vindo do search
  var expression = new RegExp(searchField, "i");
  //carrega os arquivos do json 
  $.getJSON('data.json', function(data) {
 //verifica os dados do arquivo json
   $.each(data, function(key, value){
    if (value.name.search(expression) != -1 || value.location.search(expression) != -1)
    {
     $('#result').append('<li class="list-group-item link-class"><img src="'+value.image+'" height="40" width="40" class="img-thumbnail" /> '+value.name+' | <span class="text-muted">'+value.location+'</span></li>');
    }
   });   
  });
 });
 
 $('#result').on('click', 'li', function() {
  var click_text = $(this).text().split('|');
  $('#search').val($.trim(click_text[0]));
  $("#result").html('');
 });
});
{

  "information":[

    {

      "name":"Angel Lewis",

      "image": "https://media.licdn.com/mpr/mpr/shrinknp_200_200/p/3/000/0d4/2f7/07a3d35.jpg",

      "location":"Seattle, WA",

      "numbers":"11223456",

      "sons":["harry", "any", "justin"]

    ]

}

 

Link para o comentário
Compartilhar em outros sites

@Rebeca Julia Bronzatti Eu acho que isso aqui deve resolver

 

        $(function() {
            $.ajaxSetup({
                cache: false
            });

            $('#search').keyup(function() {
                const 
                    searchField = $('#search').val(),
                    expression = new RegExp(searchField, "i"),
                    result = $("#result");

                result.html("")

                $.getJSON('data.json', function(data) {
                    $.each(data, function(key, value) {
                        for (const index in value) 
                        {
                            if (value[index].name.search(expression) != -1 || value[index].location.search(expression) != -1) {
                                result.append(`
                                    <li class="list-group-item link-class">
                                        <img src="${value[index].image}" height="40" width="40" class="img-thumbnail" /> 
                                        ${value[index].name} | <span class="text-muted">${value[index].location}</span>
                                    </li>
                                `);
                            }
                        }
                    });
                });

                if (result.innerHTML) {
                    $('#result').html('<p>Nenhum resultado encontrado</p>');
                }
            });

            $('#result').on('click', 'li', function() {
                const 
                    click_text = $(this).text().split('|'),
                    result     = $(this),
                    search     = $("#search") 

                search.val($.trim(click_text[0]));
                result.html('');
            });
        });

 

Eu não se você copiou o arquivo de forma errada, porém a estrutura desse JSON está errada.

 

2 horas atrás, Rebeca Julia Bronzatti disse:
{

  "information":[

    {

      "name":"Angel Lewis",

      "image": "https://media.licdn.com/mpr/mpr/shrinknp_200_200/p/3/000/0d4/2f7/07a3d35.jpg",

      "location":"Seattle, WA",

      "numbers":"11223456",

      "sons":["harry", "any", "justin"]

    ]

}

 

O corrigido

 

{
    "information": [
        {
            "name": "Angel Lewis",
            "image": "https://media.licdn.com/mpr/mpr/shrinknp_200_200/p/3/000/0d4/2f7/07a3d35.jpg",
            "location": "Seattle, WA",
            "numbers": "11223456",
            "sons": [
                "harry",
                "any",
                "justin"
            ]
        }
    ]
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...