This site is mobile accessible. Press the "Tap Here" button to use a different font-size.
Smartphone icons created by Freepik - Flaticon
18.6 JSON Stringify
- A common use of JSON is to exchange data to/from a web server.
- When sending data to a web server, the data has to be a string.
- Convert a JavaScript object into a string with 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:
const obj = {name: "John", age: 30, city: "New York"};
const myJSON = JSON.stringify(obj);
You will learn how to send JSON to a server in the next chapters.
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:
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON = JSON.stringify(arr);
You will learn how to send a JSON string to a server in the next chapters.
Storing Data
- When storing data, the data has to be a certain format, and regardless of where you choose to store it, text is always one of the legal formats.
- JSON makes it possible to store JavaScript objects as text.
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 data:
let 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.
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:
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.
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
- Once a JS function is converted to a string with toString() function, it may be sent to a server using JSON.stringify() and XMLHttp.
- If 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.
JavaScript icons used in the buttons provided by ICONS8.COM. Smartphone icons created by Freepik - Flaticon
Example files created in this module:
JSON Syntax - Access a JavaScript object part 1
JSON Syntax - Access a JavaScript object part 2
JSON Syntax - Modify a JavaScript Object part 1
JSON Syntax - Modify a JavaScript Object part 2
JSON Parse - Parsing JSON
JSON Parse - JSON From the Server
JSON Parse - Array as JSON
JSON Parse - Parsing Dates part 1
JSON Parse - Parsing Dates part 2
JSON Parse - Parsing Dates part 3
JSON Stringify - Stringify a JavaScript Object part 1
JSON Stringify - Stringify a JavaScript Object part 2
JSON Stringify - Storing data in local storage
JSON Stringify - Stringify Dates
JSON Stringify - Stringify Functions part 1
JSON Stringify - Stringify Functions part 2
JSON Objects - Creating an Object from a JSON Literal part 1
JSON Objects - Creating an Object from a JSON Literal part 2
JSON Objects - Access a JavaScript Object part 1
JSON Objects - Access a JavaScript Object part 2
JSON Objects - Looping an Object part 1
JSON Objects - Looping an Object part 2
JSON Arrays - Create JavaScript Arrays
JSON Arrays - Create JavaScript Arrays part 2
JSON Arrays - Accessing Array Values
JSON Arrays - Accessing Array Values in Objects
JSON Arrays - Looping Through an Array
JSON Server - Sending Data to a Server
JSON Server - Receiving Data from a Server
JSON Server - JSON From a Server
JSON Server - JSON returned from a server as an array:
JSON Server - Get JSON Data from a PHP Server part 1
JSON Server - Get JSON Data from a PHP Server part 2
JSON Server - Get JSON Data from a PHP Server part 3
JSON Server - Get JSON Data from a PHP Server part 4
JSON Server - Get JSON Data from a PHP Server part 5
JSON HTML - Make a table based on JSON data
JSON JSONP - Request JSON using the script tag
JSON JSONP - Dynamic Script Tag
JSON JSONP - Callback Function