EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

What is JSON?

Home » Software Development » Software Development Tutorials » JavaScript Tutorial » What is JSON?

What is JSON?

Introduction to JSON

JSON can be defined as a Java Script Object Notation file format, that is used for sending, receiving and storing the data from same or different systems in a network. It is generally used in the REST request and response application program interface (API) services, as JSON is uncomplicated and in readable format. Unlike the traditionally used Extensible Markup Language (XML), it enables faster accessibility, memory optimization, shorter and simpler in nature, and does not contain complicated syntax & tags.

We might have to follow the following syntax rules –

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  1. The data is always in key/value pairs.
  2. Every data object is separated by a comma.
  3. The objects are held within the curly braces (the flower bracket like this ‘{}’)
  4. The arrays are held in square brackets.

JSON object

A typical object is as follows:

{
“Name”: “Alex”,
“Occupation”: “Teacher”,
“Places visited”: [“San Francisco”, “California”, “Houston”] }

In the above examples, ‘Name’, ‘Occupation’, ‘Places visited’ are the keys and ‘’Alex’, ‘Teacher’ and the array [“San Francisco”, “California”, “Houston”] are the values of the respective keys and the whole data enclosed in the flower brackets constitutes an JavaScript Object Notation Object. The values can be a string, another object, a Boolean, null, a number.
The objects can also be nested and also be in the form of arrays.

Examples

Below are the examples mentioned:

1. Nested objects

{
“Role”: “Student”,
“Name”: {
“First name”: “Alex”,
“Last name”: “Hill”
}
}

The outer curly braces form the primary JSON object nesting to another object with the key ‘Name’ followed by the data in the inner curly braces. Next, let’s see the array of objects.

Popular Course in this category
JavaScript Training Program (39 Courses, 23 Projects, 4 Quizzes)39 Online Courses | 23 Hands-on Projects | 225+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (5,761 ratings)
Course Price

View Course

Related Courses
Angular JS Training Program (9 Courses, 7 Projects)Vue JS Training (1 Courses, 3 Project)

2. An array of objects

{
“Grade”: 6,
“Student names”: [
{
“First name”: “Alex”,
“Last name”: “Hill”
},
{
“First name”: “Neal”,
“Last name”: “Hunter”
},
{
“First name”: “Peter”,
“Last name”: “Jones”
}
] }

As you can see, the outer curly braces form the primary JSON data object and there is a square bracket pair that encloses a set of objects which is the array of objects.

3. Datatypes

Values must have one of the following datatypes.

  • Strings:

{“name”: “Johnny”}

  • Number:

{“age”: 21}

  • Object:

{
“
employee”: {“name”: “John”, “age”: 221}
}

Note – The objects in the JSON objects that are nested must also follow the same syntax rules as that of a normal JSON object.
  • Boolean:

{“sale”: true}

4. JSON Parsing

Let us consider Python as the example programming language and see how to handle the data objects.

1. import json
# json is the module in python to handle its data objects

2. string_a = “{“name”: “Alex”, “age”: “22”, “occupation”: “Teacher”}”
# let me explain the example of string format with the syntax rules

3. json_object = json.loads(string_a)
# now the json_object has the string_a as the JSON object and the key values can be referred like the following

print(“The name is”, json_object[“name”])
print(json_object[“name”, “’s age is”, json_object[‘age’]])

So, in JSON parsing using python, the JSON objects take the form of a dictionary and the keys will be referred to in the index as mentioned in the above example.

Now let us see how we can parse the JSON objects from a file in Python

1. import json
# json is the module in python to handle its objects

2. file_handler = open(‘json_data_file.json’, ‘r’)
# open is the function to open a file in python and the json files are stored with the extension
# .json which in this example is opened in reading mode ‘r’

3. json_object = json.load(file_handler)
# json.load() is the function that accepts the file handler of the json file and reads its data
# objects from the file
print(“The name is”, json_object[“name”])
print(json_object[“name”, “’s age is”, json_object[‘age’]])

Note – You can either read the file, extract the content as string & use json.loads() method to get the json object or directly use the load method to extract passing the file handler as the parameter.

Exchange of data objects

Almost all the programming languages are powered to generate and handle dictionaries or hashes or associative arrays. So, the data that needs to be exchanged between the clients and the servers need to be typecast to one of these forms depending on the programming language being used.

JSON vs XML

Traditionally, the protocol used to exchange data between the client and the server was SOAP (Simple Object Access Protocol) that used XML (Extensible Markup Language). With the introduction of REST (Representational State Protocol) the use of JavaScript Object Notation became widely famous.

Here are a few similarities between them

  1. Both are intuitive and easy to read.
  2. Both can be nested and hierarchical.
  3. Both can be parsed using a wide variety of languages.
  4. Both are exchanged over web requests for data transfer.

Here are a few differences between them

  1. It has no tag format.
  2. It is storage optimal as it is relatively shorter than XML.
  3. It is faster to read and write.
  4. It can use arrays while it is not easy in XML.

Disadvantages

While we saw the advantages, it is not devoid of disadvantages too. Following are the disadvantages:

  1. It is not fully secure.
  2. It is limited in terms of the supported datatypes.

How knowledge regarding JSON will help you in your career?

It is a data format that is used to exchange information between clients and servers. Imagine, if you could develop an optimized schema for data representation that uses fewer data to exchange large data then that is a great thing. The whole world is moving towards RESTful API services. This is why having a great deal with this language will help you to come up with cool API services.

Conclusion

It is one of the cool data formats for accessing, storing and comprehending data. If you are looking for something that is quick, lightweight for data exchange, then you can always look forward to employing JavaScript Object Notation.

Recommended Articles

This has been a guide to What is JSON. Here we discuss the working of JSON with the help of examples and how and where it can help in career growth. You can also go through our other suggested articles to learn more –

  1. What is JavaScript?
  2. What is PHP Array?
  3. JSON in Python
  4. JSON in Java

JavaScript Training Program (39 Courses, 23 Projects)

39 Online Courses

23 Hands-on Projects

225+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

2 Shares
Share
Tweet
Share
Primary Sidebar
JavaScript Tutorial
  • Basic
    • Introduction To JavaScript
    • What is JavaScript
    • What Javascript Can Do
    • Uses of JavaScript
    • How JavaScript Works
    • Is Javascript Case Sensitive
    • Is Javascript Object Oriented
    • Features of JavaScript
    • Careers in JavaScript
    • How to Install JavaScript
    • Best Javascript Frameworks
    • JavaScript MVC Frameworks
    • JavaScript Tools
    • What is JSON
    • What is Redux
    • What is ES6
    • Uses of React JS
    • How Analytics.JS Works
    • JavaScript Compilers
    • Java and JavaScript
    • JavaScript Literals
    • Variables in JavaScript
    • JavaScript Global Variable
    • JavaScript Keywords
    • Arithmetic in JavaScript
    • String in JavaScript
    • Pointers in JavaScript
    • Primitive Data Types in JavaScript
    • JavaScript console log
    • Object in JavaScript
    • JavaScript Enum
    • Arithmetic in JavaScript
    • Assignment Operator in JavaScript
    • JavaScript Modules
    • Cheat Sheet JavaScript
    • NPM Alternatives
  • Objects
    • JavaScript Objects
    • JavaScript History Object
    • JavaScript Object Notation
    • JavaScript Map Object
    • JavaScript Date Object
    • JavaScript Window Object
    • JavaScript Object Constructors
    • JavaScript Clone Object
    • JavaScript Object.assign()
    • JavaScript object.is()
  • Operators
    • Arithmetic Operators in JavaScript
    • JavaScript Assignment Operators
    • Logical Operators in JavaScript
    • Comparison Operators in JavaScript
    • Bitwise Operators in JavaScript
    • Ternary Operator JavaScript
    • Boolean Operators in JavaScript
    • JavaScript Boolean()
    • Unary Operators in JavaScript
    • JavaScript Number
    • JavaScript Floating
    • JS Operator Precedence
  • Control statements
    • Control Statement in JavaScript
    • Conditional Statements in JavaScript
    • Break Statement in JavaScript
    • Continue in JavaScript
    • Switch Statement in JavaScript
    • Case Statement in JavaScript
    • JavaScript if Statement
    • Nested if in JavaScript
    • JavaScript elseIf
  • Loops
    • For Loop in JavaScript
    • While Loop in JavaScript
    • Do While Loop in JavaScript
    • Nested Loop in JavaScript
  • Array
    • Arrays in JavaScript
    • Multi-Dimensional Array in JavaScript
    • Associative Array in JavaScript
    • JavaScript Declare Array
    • Arrays Methods in JavaScript
    • JavaScript Loop Array
    • String Array in JavaScript
    • JavaScript Get Array Length
    • JavaScript Merge Arrays
    • JavaScript Array Sort
    • JavaScript Array Push
    • JavaScript Iterate Array
    • JavaScript Empty Array
    • JavaScript Array Concat
    • Dynamic Array in JavaScript
    • JavaScript subarray()
    • JavaScript Array Filter
    • JavaScript Nested Array
    • JavaScript Flatten Array
    • JavaScript Array map()
    • JavaScript Array includes()
    • JavaScript Array Contain
    • JavaScript Array Slice
    • JavaScript Copy Array
    • Javascript Sum Array
    • JavaScript reverse Array
    • JSON Parse Array
  • Sorting
    • Sorting Algorithms in JavaScript
    • Insertion Sort in JavaScript
    • Merge Sort in JavaScript
    • Quick Sort in JavaScript
    • Bubble Sort in JavaScript
    • pop() in JavaScript
    • push() in JavaScript
  • Functions
    • JavaScript String Functions
    • JavaScript String Length
    • JavaScript split String
    • JavaScript Math Functions
    • Recursive Function in JavaScript
    • Regular Expressions in JavaScript
    • JavaScript Arrow Function
    • JavaScript Date Function
    • Match Function in Javascript
    • Replace Function in JavaScript
    • JavaScript Call Function
    • JavaScript Pass By Value
    • split() Function in JavaScript
    • reduce() Function JavaScript
    • JavaScript String replace
    • JavaScript Compare Strings
    • JavaScript Sleep
    • JavaScript toLowercase()
    • JavaScript String to Float
    • JavaScript String to Number
    • JavaScript String to int
    • JavaScript Object to String
    • JavaScript Convert to JSON
    • JavaScript Append
    • Javascript Array to String
    • Javascript Nested Functions
    • Set in JavaScript
    • Vectors in JavaScript
    • Javascript Anonymous Function
    • sign() in JavaScript
    • isNaN() JavaScript
    • Slice() Method in JavaScript
    • Javascript void
    • endsWith() in JavaScript
    • trim() Function in JavaScript
    • JavaScript typeof
    • JavaScript indexOf()
    • JavaScript encodeURI()
    • JavaScript Random
    • JavaScript z-index
    • JavaScript Absolute Value
    • JavaScript Closure
    • Javascript Prototype
    • JavaScript Date parse
    • JavaScript Parse String
    • JavaScript undefined
    • JavaScript FileReader
    • JavaScript Style visibility
    • JavaScript sleep Function
    • JavaScript forEach()
    • JavaScript keys()
    • JavaScript find() 
    • JavaScript values()
    • JavaScript Counter
    • JavaScript Countdown
    • JavaScript instanceof
    • JavaScript Delay
    • JavaScript Default Value
    • JavaScript concat String
    • JavaScript Document Object Model
    • Unshift JavaScript
    • JavaScript Callback Function
    • JavaScript hasOwnProperty()
    • JavaScript UUID
    • JSON Parser
    • JSON Array of Strings
    • JavaScript JSON to string
    • JavaScript Uppercase
    • JavaScript Namespace
    • JavaScript Range
    • JavaScript JSON
    • JavaScript exec()
    • JavaScript test()
    • JavaScript Self Invoking Functions
    • JSON Stringify Pretty
    • JavaScript findIndex()
    • JavaScript entries()
    • JavaScript join()
    • JavaScript lastIndexOf()
    • JavaScript every()
    • JavaScript getElementById()
    • JavaScript getElementsByName()
    • JavaScript getElementsByTagName()
    • JavaScript getElementsByClassName()
    • JavaScript Animation
    • JavaScript Minify
  • Events
    • JavaScript Events
    • JavaScript Event Handler
    • JavaScript Keyboard Events
    • JavaScript Mouse Events
    • JavaScript mousemove
    • JavaScript mousedown
    • JavaScript onchange
    • JavaScript onmouseout
    • JavaScript Onkeydown
    • JavaScript onsubmit
    • JavaScript Form Events
    • JavaScript Window Events
    • JavaScript Custom Events
    • JavaScript Alert
    • JavaScript Confirm
    • JavaScript onclick Alert
    • JavaScript Apply
    • JavaScript onblur
    • JavaScript onkeyup
    • JavaScript onfocus
  • Advanced
    • Constructor in JavaScript
    • Inheritance in JavaScript
    • Polymorphism in JavaScript
    • JavaScript Static Method
    • Navigator in JavaScript
    • Abstract Classes in JavaScript
    • keyword in JavaScript
    • Overriding in JavaScript
    • JavaScript Grid
    • JavaScript innerText
    • Cookies in JavaScript
    • Delete Cookie in JS
    • Encapsulation in JavaScript
    • JavaScript Parent Node
    • Javascript Remove Element
    • Errors in JavaScript
    • Forms in JavaScript
    • JavaScript Validator
    • JavaScript Form Validation
    • Email Validation in JavaScript
    • Hamburger Menu JavaScript
    • JavaScript Date Formats
    • JavaScript Number Format
    • JavaScript Debugger
    • JavaScript Stack
    • Queue in JavaScript
    • parseFloat in JavaScript
    • Javascript innerHTML
    • JavaScript setInterval
    • JavaScript Popup Box
    • JavaScript Message Box
    • Lightbox in JavaScript
    • Javascript Design Patterns
    • addEventListener JavaScript
    • Timer in JavaScript
    • JavaScript setTimeout
    • JavaScript clearTimeout()
    • JavaScript String Format
    • JavaScript Scroll to Top
    • JavaScript Function Declaration
    • File Handling in JavaScript
    • JavaScript parseInt
    • JavaScript prompt
    • JavaScript Set Class
    • JavaScript Try Catch
    • Javascript Throw Exception
    • Finally in JavaScript
    • JavaScript Get Element by Class
    • JavaScript Obfuscator
    • Disable JavaScript
    • SetAttribute JavaScript
    • JavaScript Cursor
    • LinkedList in JavaScript
    • JavaScript WeakMap
    • JavaScript DOM
    • JavaScript defer
    • JavaScript Promise
    • JavaScript Refresh Page
    • JSON.stringify JavaScript
    • JavaScript IIFE
  • Programs
    • Patterns in JavaScript
    • Reverse in JavaScript
    • Palindrome in JavaScript
    • Factorial Program in JavaScript
    • Fibonacci Series In JavaScript
    • Square Root in JavaScript
    • Prime Number in JavaScript
    • Armstrong Number in JavaScript
    • Random Number Generator in JavaScript
    • Reverse String in JavaScript
    • JavaScript Random String
    • Functional Programming in JavaScript
  • Interview Questions
    • Javascript Interview Questions
    • JSON Interview Questions
    • JS Interview Questions

Related Courses

JavaScript Certification Training

Angular JS Certification Training

Vue JS Training

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - JavaScript Training Program (39 Courses, 23 Projects) Learn More