Serwer JSON
Powszechnym zastosowaniem JSON jest wymiana danych z/do serwera WWW.
Podczas odbierania danych z serwera WWW dane są zawsze ciągiem.
Przeanalizuj dane za pomocą JSON.parse()
, a dane staną się obiektem JavaScript.
Wysyłanie danych
Jeśli masz dane przechowywane w obiekcie JavaScript, możesz przekonwertować obiekt na JSON i wysłać go na serwer:
Przykład
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
Odbieranie danych
Jeśli otrzymasz dane w formacie JSON, możesz je łatwo przekonwertować na obiekt JavaScript:
Przykład
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
JSON z serwera
Możesz zażądać JSON z serwera za pomocą żądania AJAX
Dopóki odpowiedź z serwera jest zapisana w formacie JSON, możesz przetworzyć ciąg do obiektu JavaScript.
Przykład
Użyj XMLHttpRequest, aby pobrać dane z serwera:
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();
Spójrz na json_demo.txt
Tablica jako JSON
Używając JSON.parse()
on JSON pochodzącego z tablicy, metoda zwróci tablicę JavaScript zamiast obiektu JavaScript.
Przykład
JSON zwrócony z serwera jako tablica:
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();
Spójrz na json_demo_array.txt