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
-
Lungime obiect JSON in JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am convertit un tabel din baze de date într-un obiect JSON.
Aceasta este, în esență, un array bidimensional, fiecare înregistrare fiind pe cate un...
Ultimul mesaj
Poti sa folosesti Object.keys pentru a obține lista de chei din obiect ca un array, apoi obții cu 'length' lungimea din el:...
-
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...
-
Escapare ghilimele duble in sir JSON
JavaScript - jQuery - Ajax
Primul mesaj
Încerc să transform in obiect un șir JSON 'Hello” test ' care conține ghilimele care au escapate deja cu \.
JSON.parse('{ x : Hello \ test }')...
Ultimul mesaj
Trebuie sa escapezi backslash-ul \, astfel sa ai doua backslashes \\
let obj = JSON.parse('{ x : Hello \\ test }')
console.log(obj)
-
Accesare fișier XML din alt domeniu in JS
JavaScript - jQuery - Ajax
Primul mesaj
Creez un site web cu HTML și JavaScript care se bazează pe datele unui fișier XML de pe un domeniu separat.
Pot realiza acest lucru cu jQuery-Ajax...
Ultimul mesaj
Încerca să folosesti API-ul fetch.
fetch('//example.com/file_address')
.then( response => response.text() )
.then( response => {...
-
Adaugare apostrof la value in input cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am un cod JavaScript care adaugă un câmp input pentru utilizator:
var user = O'Conner, John ;
b.innerHTML += <input type='hidden' value=' +...
Ultimul mesaj
Poți să înlocuiesti caracterul cu entitatea lui HTML.
Astfel, pentru apostrof (') poate fi ’ sau ‘
var user = O'Conner,...
-
Produsul Dot a doua array in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
Cum se poate implementa eficient o metoda dotProduct (pentru a obține produsul Dot din două array) fără a importa alte biblioteci Javascript?
De...
Ultimul mesaj
Iată o metodă.
Se foloseste funcția map() pentru a crea un nou array cu rezultate înmulțite ale fiecărui index, apoi se aplica funcția reduce()...