Preluare date din fisier JSON in Javascript
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
Stefan
- Mesaje:117
Preluare date din fisier JSON in Javascript
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
MarPlo
Mesaje:4343
Fisierul json e pe server cu site-ul sau pe alt site?
Ce cod ai sa preia acel fisier?
Stefan
Mesaje:117
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
MarPlo
Mesaje:4343
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!');
}
}
});
});
Stefan
Mesaje:117
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!');
}
}
});
};
MarPlo
Mesaje:4343
Incearca asa (ca index de array):
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!');
}
}
});
});
Subiecte similare
- Eroare la incarcare json
JavaScript - jQuery - Ajax
Primul mesaj
Bună Marius
Cum rezolv să imi încarce tot fișierul .json
eoroare la
//fetch(endpoint)
//.then(blob => blob.json())
//.then(data =>...
Ultimul mesaj
Fisierul json de la acea adresa are peste 50 MB, e cam mare pentru preluare si procesare direct in pagina (client side) cu javascript.
A) Indicat...
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...