Pagina 1 din 1

Preluare date din fisier JSON in Javascript

Scris: Vin Feb 08, 2019
de Stefan
Salut, cum as putea prelua datele dintr-un fisier JSON cu ajutorul unor parametri folosind javascript?

Date din fisierul json

Cod: Selectaţi tot

{
	"Nume1": {
        	"nume": "Nume complet",
		"descriere": "Descriere persoana"
 	   },
	
	"Nume2": {
      		  "nume": "Nume complet2",
		"descriere": "Descriere persoana2"
   	 },
	
	"Nume3": {
       		 "nume": "Nume complet3",
		"descriere": "Descriere persoana 3"
	}
}
Pentru "Nume1" cum as putea prelua "nume" si "descriere" cu ajutorul parametrilor?
Am incercat asa" pastebin.com/wHJWRsWU , dar primesc eroarea

Cod: Selectaţi tot

TypeError: membri.x is undefined

Preluare date din fisier JSON in Javascript

Scris: Vin Feb 08, 2019
de MarPlo
Fisierul json e pe server cu site-ul sau pe alt site?
Ce cod ai sa preia acel fisier?

Re: Preluare date din fisier JSON in Javascript

Scris: Dum Feb 10, 2019
de Stefan
Fisierul este pe server.

Codul:

Cod: Selectaţi tot

$(function() {  
  $('#clickme').click(function() {
       $.ajax({
       url: 'detalii.json',
       dataType: 'json',
       success: function(data) {
          var items = [];

          $.each(data, function(key, val) {
				// alert(key + ' ' + val);
				
				$.each(val, function(k1, v1) {
					items.push('<li id="' + k1 + '">' + v1 + '</li>');
				});
				
				

          });

          $('<ul/>', {
             'class': 'interest-list',
             html: items.join('')
          }).appendTo('body');

       },
      statusCode: {
         404: function() {
           alert('There was a problem with the server.  Try again soon!');
         }
       }
    });
  });
});
Ce modificare ar trebui facuta ca, prin parametri, sa se afiseze valorile respective? Sa nu se afiseze toate detaliile

Preluare date din fisier JSON in Javascript

Scris: Dum Feb 10, 2019
de MarPlo
Uite un exemplu cum poti prelua cu jQuery datele din fisierul tau "detalii.json" si sa citesti valorile din el.
Obiectul json preluat (aici retinut in variabila jsn) poate fi parcurs cu metoda for(var k in object).

Cod: Selectaţi tot

$(function() {
  $.ajax({
   url: 'detalii.json',
   dataType: 'json',
  success: function(resp) {
    var jsn =  resp;
    let nume1 = jsn.Nume1.nume;
    let desc1 = jsn.Nume1.descriere;

     alert(nume1 +' - '+ desc1);
   },
    statusCode: {
       404: function() {
         alert('There was a problem with the server.  Try again soon!');
       }
     }
  });
});

Preluare date din fisier JSON in Javascript

Scris: Lun Feb 11, 2019
de Stefan
Multumesc pentru acel cod. Dar cum as putea face ca Nume1 sa fie transmis prin parametru si apoi "transformat in variabila"? Am vazut ca se foloseste functia eval() sau window[var]/window["var"]

Exemplu:

param = 'Pers1';
nume1 = jsn.Pers1.nume;


Cod: Selectaţi tot

function test(param) {
  $.ajax({
   url: 'detalii.json',
   dataType: 'json',
  success: function(resp) {
    var jsn =  resp;
    
    /*
    ?
    transformare param in nume de variabila
    ?
    */
    
    let nume1 = jsn.[b][u]PERS1[/u][/b].nume;
    let desc1 = jsn.[b][u]PERS1[/u][/b].descriere;

     alert(nume1 +' - '+ desc1);
   },
    statusCode: {
       404: function() {
         alert('There was a problem with the server.  Try again soon!');
       }
     }
  });
};

Preluare date din fisier JSON in Javascript

Scris: Lun Feb 11, 2019
de MarPlo
Incearca asa (ca index de array):

Cod: Selectaţi tot

var param = 'Pers1';
nume1 = jsn[param].nume;
In codul tau:

Cod: Selectaţi tot

$(function() {
  $.ajax({
   url: 'detalii.json',
   dataType: 'json',
  success: function(resp) {
    var jsn =  resp;
    var param ='Nume1';
    let nume1 = jsn[param].nume;
    let desc1 = jsn[param].descriere;

     alert(nume1 +' - '+ desc1);
   },
    statusCode: {
       404: function() {
         alert('There was a problem with the server.  Try again soon!');
       }
     }
  });
});