A JSON gyakori használata az adatok cseréje webszerverrel/webkiszolgálóról.
Amikor adatokat küldünk egy webszerverre, az adatoknak meg kell lenniük húr.
Alakítsa át a JavaScript-objektumot karakterláncsá a JSON.stringify()
segítségével.
Képzeld el, hogy ez az objektum van JavaScriptben:
const obj = {name: "John", age: 30, city: "New York"};
Használja a JSON.stringify()
JavaScript-függvényt karakterláncsá alakításához.
const myJSON = JSON.stringify(obj);
Az eredmény egy karakterlánc lesz, amely a JSON-jelölést követi.
A myJSON
egy karakterlánc, és készen áll a szerverre való elküldésre:
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Create a JSON string from a JavaScript object.</h2>
<p id="demo"></p>
<script>
const obj = {name: "John", age: 30, city: "New York"};
const myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
A következő fejezetekből megtudhatja, hogyan küldhet JSON-t egy szerverre.
Lehetőség van a JavaScript tömbök stringizálására is:
Képzeld el, hogy ez a tömb van JavaScriptben:
const arr = ["John", "Peter", "Sally", "Jane"];
Használja a JSON.stringify()
JavaScript-függvényt karakterláncsá alakításához.
const myJSON = JSON.stringify(arr);
Az eredmény egy karakterlánc lesz, amely a JSON-jelölést követi.
A myJSON
egy karakterlánc, és készen áll a szerverre való elküldésre:
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Create a JSON string from a JavaScript array.</h2>
<p id="demo"></p>
<script>
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
A következő fejezetekből megtudhatja, hogyan lehet JSON-karakterláncot küldeni a szervernek.
Az adatok tárolása során az adatoknak egy bizonyos formátumúnak kell lenniük, és függetlenül attól, hogy hol tárolja azokat, A szöveg mindig az egyik legális formátum.
A JSON lehetővé teszi a JavaScript-objektumok szövegként történő tárolását.
Adatok tárolása helyi tárhelyen
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>Store and retrieve data from local storage.</h2>
<p id="demo"></p>
<script>
// Storing data:
const myObj = { name: "John", age: 31, city: "New York" };
const myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
</script>
</body>
</html>
A JSON-ban a dátumobjektumok nem engedélyezettek. A JSON.stringify()
függvény konvertálja bármilyen dátumot karakterláncba.
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>JSON.stringify() converts date objects into strings.</h2>
<p id="demo"></p>
<script>
const obj = {name: "John", today: new Date(), city: "New York"};
const myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
A karakterláncot visszaalakíthatja dátum objektummá a vevőnél.
A JSON-ban a függvények nem engedélyezettek objektumértékként.
A JSON.stringify()
függvény eltávolít minden függvényt a JavaScriptből objektum, a kulcs és az érték is:
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>JSON.stringify() will remove any functions from an object.</h2>
<p id="demo"></p>
<script>
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
Ez elhagyható, ha futás előtt karakterláncokká alakítja a függvényeket a JSON.stringify()
függvényt.
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>JSON.stringify() will remove any functions from an object.</h2>
<p>Convert functions into strings to keep them in the JSON object.</p>
<p id="demo"></p>
<script>
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
Ha függvényeket küld JSON használatával, a függvények elvesztik hatókörüket és a vevőt Az eval() segítségével vissza kell alakítani őket függvényekké.