JavaScript JSON Stringify
JavaScript Basics

JavaScript JSON Stringify

JSON.stringify()

A common use of JSON is to exchange data to and from a web server.

When sending data to a web server, the data must be in string format.

To convert a JavaScript object into a string, use JSON.stringify().

Stringify a JavaScript Object

Imagine we have this object in JavaScript:

const obj = {name: "John", age: 30, city: "New York"};

Use the JavaScript function JSON.stringify() to convert it into a string:

const myJSON = JSON.stringify(obj);

The result will be a string following the JSON notation. myJSON is now a string and ready to be sent to a server.

Example:

const obj = {name: "John", age: 30, city: "New York"};const myJSON = JSON.stringify(obj);

Stringify a JavaScript Array

It is also possible to stringify JavaScript arrays. Imagine we have this array in JavaScript:

const arr = ["John", "Peter", "Sally", "Jane"];

Use the JavaScript function JSON.stringify() to convert it into a string:

const myJSON = JSON.stringify(arr);

The result will be a string following the JSON notation. myJSON is now a string and ready to be sent to a server.

Example:

const arr = ["John", "Peter", "Sally", "Jane"];const myJSON = JSON.stringify(arr);

Storing Data

When storing data, the data must be in a specific format, and text is always one of the legal formats. JSON makes it possible to store JavaScript objects as text.

Example: Storing data in local storage

// Storing data

const myObj = {name: "John", age: 31, city: "New York"};const myJSON = JSON.stringify(myObj);localStorage.setItem("testJSON", myJSON);‍

// Retrieving datalet text = localStorage.getItem("testJSON");let obj = JSON.parse(text);document.getElementById("demo").innerHTML = obj.name;

Exceptions

Stringify Dates

In JSON, date objects are not allowed. The JSON.stringify() function will convert any dates into strings.

Example:

const obj = {name: "John", 

today: new Date(), city: "New York"};
const myJSON = JSON.stringify(obj);

You can convert the string back into a date object at the receiver.

Stringify Functions

In JSON, functions are not allowed as object values. The JSON.stringify() function will remove any functions from a JavaScript object, both the key and the value.

Example:

const obj = {name: "John", age: function() { return 30; }, city: "New York"};const myJSON = JSON.stringify(obj);

This can be omitted if you convert your functions into strings before running the JSON.stringify() function.

Example:

const obj = {name: "John", age: function() 
{ return 30; }, city: "New York"};obj.age = obj.age.toString();const myJSON = JSON.stringify(obj);

f you send functions using JSON, the functions will lose their scope, and the receiver would have to use eval() to convert them back into functions.

Take a look into your desired course