JSON.stringify()


Tartalomjegyzék

    Tartalomjegyzék megjelenítése


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.


Egy JavaScript objektum karakterizálása

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:

Példa

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.


Egy JavaScript tömb karakterizálása

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:

Példa

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.


Adatok tárolása

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.

Példa

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>


Kivételek

Dátumok lehúzása

A JSON-ban a dátumobjektumok nem engedélyezettek. A JSON.stringify() függvény konvertálja bármilyen dátumot karakterláncba.

Példa

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.


Stringify Functions

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:

Példa

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.

Példa

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é.