A JSON gyakori használata az adatok cseréje webszerverrel/webkiszolgálóról.
Amikor adatokat fogadunk egy webszerverről, az adatok mindig egy karakterlánc.
Elemezze az adatokat a JSON.parse() segítségével, és az adatok JavaScript objektummá válnak.
Ha JavaScript objektumban tárolt adatokat, akkor az objektumot átalakíthatja JSON-ba, és küldje el egy szerverre:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Convert a JavaScript object into a JSON string, and send it to the server.</h2>
<script>
const myObj = { name: "John", age: 31, city: "New York" };
const myJSON = JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
</script>
</body>
</html>
Ha JSON formátumban kapja meg az adatokat, könnyen konvertálhatja azokat JavaScript formátumba tárgy:
const myJSON =
'{"name":"John",
"age":31, "city":"New York"}';
const myObj =
JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Convert a JSON string into a JavaScript object.</h2>
<p id="demo"></p>
<script>
const myJSON = '{"name":"John", "age":31, "city":"New York"}';
const myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
A JSON-t AJAX-kérés használatával kérheti a szervertől
Mindaddig, amíg a kiszolgáló válasza JSON formátumban van írva, ezt megteheti elemezze a karakterláncot JavaScript objektummá.
Használja az XMLHttpRequestet az adatok lekéréséhez a szerverről:
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();Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Fetch a JSON file with XMLHttpRequest</h2>
<p id="demo"></p>
<script>
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();
</script>
</body>
</html>
Tekintse meg a json_demo.txt fájlt: https://basicit.org/js/json_demo.txt
Ha a JSON.parse()-t egy tömbből származó JSON-on használja, a metódus JavaScript tömböt ad vissza JavaScript objektum helyett.
A JSON tömbként tért vissza egy szerverről:
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();Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Fetch a JSON file with XMLHttpRequest</h2>
<p>Content written as an JSON array will be converted into a JavaScript array.</p>
<p id="demo"></p>
<script>
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();
</script>
</body>
</html>
Tekintse meg a json_demo_array.txt fájlt: https://basicit.org/js/json_demo_array.txt