View JSON object

0

I have the following JSON:

"json": [
    {
      "nome": "Meu Nome",
      "amigos": [
        {
          "amigo": "João",
          "idade": 20
        }            
      ]
    }
  ]

I also have the following for:

this.qtd = data.json.length;

for (i = 0; i < this.qtd; i++){
                this.retorno += 'Nome: ' + data.json[i].nome;
        this.retorno += 'Amigo:' + JSON.stringify(data.json[i].amigos);
}

Would you like to know how to display the name only the name of the friend? For when I do with "JSON.stringify ()", it returns with the braces, quotes, etc.

How can I just get my friend's name?

Below the full code:

function dados(){
	var qtd;
	var retorno;


	json.prototype.resgatarValores = function(){
		$('#resultado').html('loading...');

		$.getJSON('http://www.site.com/arquivo.json', function(data){
			this.qtd = data.json.length;
			this.retorno = '';		

			for (i = 0; i < this.qtd; i++){
				this.retorno += 'Nome: ' + data.json[i].nome + '<br />';				
				this.retorno += 'Amigo: ' + JSON.stringify(data.json[i].amigo) + '<br />';			
				
			}

			$('#resultado').html(this.retorno);
		});

	}

}

var obj = new dados();
obj.resgatarValores();
    
asked by anonymous 20.11.2017 / 18:14

3 answers

0

You can use the forEach () method to go through the arrays of your objeto json .

var json = [
  {
    "nome": "Meu Nome",
    "amigos": [
      {
        "amigo": "João",
        "idade": 20
      }            
    ]
  }
];

json.forEach(function(item) {
    item.amigos.forEach(function(item) {
        console.log(item.amigo);
    });
});
    
20.11.2017 / 18:25
0

Try to do this:

for (i = 0; i < this.qtd; i++){
                this.retorno += 'Nome: ' + data.json[i].nome;
        this.retorno += 'Amigo:' + JSON.stringify(data.json[i].amigos[i].amigo);
}
    
20.11.2017 / 18:48
0

I was able to resolve it as follows:

$.getJSON('www.site.com.br/arquivo.json', function(data){
		
	this.qtd = data.json.length;
	this.retorno = '';

	for(i in data.json){
    	this.retorno += 'Nome: ' + data.json[i].nome + '<br />';

        for (j in data.json[i].amigos){
            this.retorno += 'TXT: ' + data.json[i].amigos[j].amigo + '<br />';
        }    

        this.retorno += '<br />';
    }						

	$('#resultado').html(this.retorno);
});

Thanks to everyone for the help.

    
21.11.2017 / 20:24