Server JSON
Běžným použitím JSON je výměna dat do/z webového serveru.
Při příjmu dat z webového serveru jsou data vždy řetězec.
Analyzujte data pomocí JSON.parse()
a data se stanou objektem JavaScriptu.
Odesílání dat
Pokud máte data uložená v objektu JavaScriptu, můžete objekt převést na JSON a odeslat na server:
Příklad
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Přijímání dat
Pokud přijímáte data ve formátu JSON, můžete je snadno převést na objekt JavaScript:
Příklad
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
JSON ze serveru
JSON si můžete vyžádat ze serveru pomocí požadavku AJAX
Pokud je odpověď ze serveru zapsána ve formátu JSON, můžete řetězec analyzovat do objektu JavaScriptu.
Příklad
K získání dat ze serveru použijte XMLHttpRequest:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.name;
};
xmlhttp.open("GET", "json_demo.txt");
xmlhttp.send();
Podívejte se na json_demo.txt
Pole jako JSON
Při použití JSON.parse()
on JSON odvozeného z pole metoda vrátí pole JavaScript namísto objektu JavaScript.
Příklad
JSON vrácený ze serveru jako pole:
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
const myArr = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myArr[0];
}
}
xmlhttp.open("GET", "json_demo_array.txt", true);
xmlhttp.send();
Podívejte se na json_demo_array.txt