In this lesson you can learn how to convert JSON string to a JavaScript object, and to convert JavaScript objects into a JSON string that can be transfered to different aplications.

Convert JSON string to JavaScript object

One of the most common use of JSON is to fetch JSON data from a web server, as a string that can be converted to JavaScript object to be used in web page.
To convert a JSON string to a JavaScript object, you can use the JSON.parse() method.
var obj = JSON.parse(json_string);

In the following example, the "jsnstr" variable contains a string with a JSON object (The string can be fetched with Ajax, for example from a PHP script, or from a file on server).
- Values from the JSON string are added in HTML elements in webpage.
Web site: <span id='wurl'></span><br>
Title: <span id='wtitle'></span>

// example of what is received from server
var jsnstr ='{"url": "", "title": "Web Development Courses", "users": 1500}';

// parse the 'jsnstr', and store the JSON object in 'obj'
var obj = JSON.parse(jsnstr);

// uses the JavaScript object, adds the values from 'url', and 'title' in web page
document.getElementById('wurl').innerHTML = obj.url;
document.getElementById('wtitle').innerHTML = obj.title;

JSON.parse() can be used to parse JSON strings that contains only values which are objects or arrays (with numeric and string type data), if the object contains complex data (methods, functions), the JSON.parse() will return "unexpected keyword" error. In this case, if you are sure that date are safe, use eval().

Convert JavaScript object to JSON string

To convert JavaScript object to JSON string you can use the JSON.stringify() method.
var str = JSON.parse(object);

This is necessary especially in Ajax applications, when you want to transfer data from JavaScript to a script on server.
- In the next example it is created a JavaScript object containing an array, and another object. We use the JSON.stringify() method to convert the object into a JSON string, then, to show the results, the string is displayed in a <div> in webpage.
JSON string:
<div id='showjson'></div>

// object with an arrays and an object
var obj = {
 'courses': ['html', 'php', 'ajax'],
 'site': {'url': '', 'title': 'Web Development Courses', 'users': 1500}

// converts the 'obj' into a JSON string
var jsonstr = JSON.stringify(obj);

// displays the JSON text in the HTML element with id='showjson'
document.getElementById('showjson').innerHTML = jsonstr;

The JSON string can be easily converted again to an object (or associative array) in the script on server. For example, in PHP by using json_decode().

Daily Test with Code Example

Which attribute indicates that an input field must be filled out before submitting?
required="required" autofocus="autofocus" placeholder="text"
<input type="text" name="name1" required="required" />
Which CSS method increases or decreases the size of the HTML element (including its content)?
translate() scale() skew()
#some_id:hover {
  transform: scale(2, 1.5);
  -ms-transform: scale(2, 1.5);    /* IE 9 */
  -moz-transform: scale(2, 1.5);   /* Firefox */
Click on the Date object method that returns the day of the month.
setDate() getMonth() getDate()
var rightnow = new Date();
var day = rightnow.getDate();
Which function is used to upload a file on server?
is_file() move_uploaded_file() fopen()
if(move_uploaded_file($_FILES["field_name"]["tmp_name"], "dir/file_name")) {
  echo "The file succesfully uploaded";
Convert JSON in JavaScript

Last accessed pages

  1. DirectoryIterator to get file and directory info (1964)
  2. Read Excel file data in PHP - PhpExcelReader (60998)
  3. Get Duration of Audio /Video file before Upload (6604)
  4. Register and show online users and visitors (25528)
  5. Java Programming Courses and Tutorials (1568)

Popular pages this month

  1. Insert, Select and Update NULL value in MySQL (412)
  2. Read Excel file data in PHP - PhpExcelReader (330)
  3. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (254)
  4. PHP getElementById and getElementsByTagName (206)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (198)