Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying JavaScript and JSON Essentials
  • Table Of Contents Toc
  • Feedback & Rating feedback
JavaScript and JSON Essentials

JavaScript and JSON Essentials

By : Joseph D'mello, Sai S Sriparasa
4.5 (2)
close
close
JavaScript and JSON Essentials

JavaScript and JSON Essentials

4.5 (2)
By: Joseph D'mello, Sai S Sriparasa

Overview of this book

JSON is an established and standard format used to exchange data. This book shows how JSON plays different roles in full web development through examples. By the end of this book, you'll have a new perspective on providing solutions for your applications and handling their complexities. After establishing a strong basic foundation with JSON, you'll learn to build frontend apps by creating a carousel. Next, you'll learn to implement JSON with Angular 5, Node.js, template embedding, and composer.json in PHP. This book will also help you implement Hapi.js (known for its JSON-configurable architecture) for server-side scripting. You'll learn to implement JSON for real-time apps using Kafka, as well as how to implement JSON for a task runner, and for MongoDB BSON storage. The book ends with some case studies on JSON formats to help you sharpen your creativity by exploring futuristic JSON implementations. By the end of the book, you'll be up and running with all the essential features of JSON and JavaScript and able to build fast, scalable, and efficient web applications.
Table of Contents (20 chapters)
close
close
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Datatypes in JSON


Now, let us take a look at a more complex example of JSON. We'll also go over all the datatypes that are supported by JSON. JSON supports six data types: strings, numbers, Booleans, arrays, objects, and null:

{
  "studentid" : 101,
  "firstname" : "John",
  "lastname" : "Doe",
  "isStudent" : true,
  "scores" : [40, 50],
  "courses" : {
      "major" : "Finance",
      "minor" : "Marketing"  
  }
}

In the preceding example, we have key-value pairs of different data types. Now let us take a close look at each of these key-value pairs.

The datatype of the value that "studentid" references is a number:

"studentid" : 101,

The datatype of the value that "firstname" references is a string:

  "firstname" : "John",

In the following snippet, the datatype of the value that "isStudent" references is a Boolean:

  "isStudent" : true,

The datatype of the value that "scores" references here is an array:

  "scores" : [40, 50]

The datatype of the value that "courses" references is an object:

  "courses" : {
      "major" : "Finance",
      "minor" : "Marketing"  
  }

We know that JSON supports six datatypes; they are strings, numbers, Booleans, arrays, objects, and null. Yes, JSON supports null data, and real-time business implementations need accurate information. There might be cases where null was substituted with an empty string, but that is inaccurate. Let us take a quick look at the following example:

let nullVal = "";
alert(typeof nullVal); //prints string
nullVal = null;
alert(typeof nullVal); //prints object

Note

Arrays and null values are objects in JavaScript.

In the preceding example, we are performing some simple operations such as determining the type of an empty string. We are using the typeof operator that takes an operand and returns the datatype of that operand, while on the next line we are determining the type of a null value.

Now, let us implement our JSON object in a page and retrieve the values, as shown in the following snippet:

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript">
    let complexJson = {
      "studentid" : 101,
      "firstname" : "John",
      "lastname" : "Doe",
      "isStudent" : true,
      "scores" : [40, 50],
      "courses" : {
          "major" : "Finance",
          "minor" : "Marketing" 
      }
    }; 
  </script>
</head>
<body>
  <h2>Complex Data in JSON</h2>
  <p>This is a test program to load complex json data into a variable</p>
</body>
</html>

To retrieve the id from the variable complexJson, we need to do the following:

alert(complexJson.studentid); //101

To retrieve the name from the variable complexJson, look at the following snippet:

alert(complexJson.firstname); //John

Look at the following code to retrieveisStudent from the variable complexJson:

alert(complexJson.isStudent); //true

Retrieving data from arrays and objects gets a little tricky, as we have to traverse through the array or object. Let us see how values can be retrieved from arrays:

alert(complexJson.scores[1]); //50

In the preceding example, we are retrieving the second element (with index 1, as the array starts from 0) from the scores array. Although scores is an array inside the complexJson object, it is still treated as a regular key-value pair. It is handled differently when the key is accessed; the first thing that the interpreter has to assess when a key is accessed is how to get the datatype of its value. If the retrieved value is a string, number, Boolean, or null, there will be no extra operations performed on the value. But if it is an array or an object, the value's dependencies are taken into consideration.

To retrieve an element from the object inside JSON object, we will have to access the key that is the reference for that value, as shown:

alert(complexJson.courses.major); //Finance

Since objects do not have a numeric index, JavaScript might rearrange the order of items inside an object. If you notice that the order of key-value pairs during the initialization of the JSON object is different from when you are accessing the data, there is nothing to worry about. There is no loss of data; the JavaScript engine has just reordered your object.

notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon

Create a Note

Modal Close icon
You need to login to use this feature.

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Delete Note

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Edit Note

Modal Close icon
Write a note (max 255 characters)
Cancel
Update Note