JSON Tutorial: Learn with Simple File Format EXAMPLE

What is JSON?

JSON is a file format used to store information in an organized and easy-to-access manner. Its full form is JavaScript Object Notation. It offers a human-readable collection of data that can be accessed logically. Its filename extension for written programming code is .json. The Internet media type for JSON is application/json, and its Uniform Type Identifier is public.json.

Why use JSON?

Here are the important benefits/ pros of using JSON:

  • Provide support for all browsers
  • Easy to read and write
  • Straightforward syntax
  • You can natively parse in JavaScript using eval() function
  • Easy to create and manipulate
  • Supported by all major JavaScript frameworks
  • Supported by most backend technologies
  • JSON is recognized natively by JavaScript
  • It allows you to transmit and serialize structured data using a network connection.
  • You can use it with modern programming languages.
  • JSON is text which can be converted to any object of JavaScript into JSON and send this JSON to the server.

History of JSON

History of JSON
JSON Tutorial

Here are important landmarks that form the history of JSON:

  • Douglas Crockford specified the JSON format in the early 2000s.
  • The official website was launched in 2002.
  • In December 2005, Yahoo! starts offering some of its web services in JSON.
  • JSON became an ECMA international standard in 2013.
  • The most updated JSON format standard was published in 2017.

Features of JSON

Easy to use – JSON API offers high-level facade, which helps you to simplify commonly used use-cases.

Performance – JSON is quite fast as it consumes very less memory space, which is especially suitable for large object graphs or systems.

Free tool – JSON library is open source and free to use.

Doesn’t require to create mapping – Jackson API provides default mapping for many objects to be serialized.

Clean JSON – Creates clean, and compatible JSON result that is easy to read.

Dependency – JSON library does not require any other library for processing.

Rules for JSON Syntax

Rules for JSON syntax are:

  • Data should be in name/value pairs
  • Data should be separated by commas
  • Curly braces should hold objects
  • Square brackets hold arrays

Data Types in JSON

Important data type used in JSON are:

Data Type Description
Number It includes real number, integer or a floating number
String It consists of any text or Unicode double-quoted with backslash escapement
Boolean The Boolean data type represents either True or False values
Null The Null value denotes that the associated variable doesn’t have any value
Object It is a collection of key-value pairs and always separated by a comma and enclosed in curly brackets.
Array It is an ordered sequence of values separated.

Number

  • The number is a double-precision floating-point format which depends on its implementation method.
  • In JSON you can’t use Hexadecimal and Octal formats.

Following table displays number types:

Type Description
Integer Number 1-9, and 0. Both positive and negative numbers.
Fraction Fractions like 3
Exponent Exponent like e, e+

Syntax:

var json-object-name = { string : number_value,......}

Example:

var obj = {salary: 2600}

String

It is a series of double-quoted Unicode characters and having backslash escaping.

The following table shows various string types:

Type Description
* Use for double quotation typing
/ Use for solidus
\ Use for reverse solidus
B Use to add backspace
F From feed
N To create a new line
R Use for carriage return
T To show horizontal tab
U Hexadecimal digits

Syntax:

var json-object-name = { string : "string value",…..}

Example:

var obj= {name: 'Andy'}

Boolean

It stores only true or false values.

Syntax:

var json-object-name = {string : true/false, …..}

Example:

var obj = {active: 'true'}

Array

  • It is an ordered collection of values.
  • You should use an array when the key names are sequential integers.
  • It should be enclosed inside square brackets which should be separated by ‘,’ (comma)

Syntax:

[value, .......]

Example:

Showing an array storing multiple objects:

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

JSON Object

A JSON Object is an entity in JSON which is enclosed in curly brackets. It is written in the unordered set of name and value pairs in which the name should be followed by “:” (colon), and the name/value pairs need to be separated using “,” (comma). It can be used when key names are arbitrary strings.

Syntax:

{ string :  value, ….. }

Example:

{
"id": 110,
"language": "Python",
"price": 1900,
}

Whitespace

You can insert whitespace between a pair of tokens.

Example:

Syntax:

{string:"    ",….}

Example:

var a = " Alex"; var b = "Steve";

Example of JSON

The given code example defines how to use JSON to store information related to programming books along with edition and author name.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}  

Lets understand JSON format with another JSON file example. Here, JSON defines the first name, last name and id of a student.

{
  "student": [ 
	
     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 
	
     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     } 
  ]   
}

Application of JSON

Here are some common applications of JSON:

  • Helps you to transfer data from a server
  • Sample JSON file format helps in transmit and serialize all types of structured data.
  • Allows you to perform asynchronous data calls without the need to do a page refresh
  • Helps you to transmit data between a server and web applications.
  • It is widely used for JavaScript-based application, which includes browser extension and websites.
  • You can transmit data between the server and web application using JSON.
  • We can use JSON with modern programming languages.
  • It is used for writing JavaScript-based applications that include browser add-ons.
  • Web services and Restful APIs use the JSON format to get public data.

JSON vs. XML

Here is the prime difference between JSON vs. XML

JSON XML
JSON object has a type XML data is typeless
JSON types: string, number, array, Boolean All XML data should be string
Data is readily accessible as JSON objects XML data needs to be parsed.
JSON files are more human-readable. XML files are less human-readable.
JSON is supported by most browsers. Cross-browser XML parsing can be tricky
JSON has no display capabilities. XML provides a capability to display data because it is a markup language.
Retrieving value is easy Retrieving value is difficult
Supported by many Ajax toolkit Not fully supported by Ajax toolkit
A fully automated way of deserializing/serializing JavaScript. Developers have to write JavaScript code to serialize/de-serialize from XML
Native support for object. The object has to be express by conventions – mostly missed use of attributes and elements.

JSON Example

Below is a simple JSON example:

{
  "student": [ 
	
     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 
	
     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     } 
  ]   
}

XML Example

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

What is JSON not?

  • Sample JSON data file is not a document format.
  • It is not a markup language.
  • JSON does not provide a general serialization format.
  • It is not recurring or cyclical structures.
  • It is also not an invisible structure.

Disadvantages of JSON

Here are few advantages of JSON:

  • No namespace support, hence poor extensibility
  • Limited development tools support
  • No support for formal grammar definition

Popular JSON Tools (Add-ons)

Here are important JSON tools:

JSONLint:

JSONLint is an open-source project that is used as a validator and reformatter for JSON. It is a lightweight data-interchange format. Copy and paste, directly type, or input URL in the JSON validator tool to validate your JSON code.

Link: https://jsonlint.com

JSON Editor Online:

JSON Editor Online is a useful web-based tool. It allows you to edit, view, and format JSON. It displays your data side by side in a clear, editable code editor software.

Link: https://jsoneditoronline.org/

JSON Minifier Tool:

It is a tool which helps you to removes whitespaces and gives a JSON code that takes the least space.

Link: https://www.browserling.com/tools/json-minify

JSON to XML Converter:

JSON to XML converter is a simple and effective tool which helps you to convert your JSON code.

Link: https://codebeautify.org/jsontoxml

JSON Formatter:

JSON formatter helps you to solve the problem by formatting the JSON data so that it is easy to read and debug by a human.

Link:https://jsonformatter.curiousconcept.com/

Summary

  • JSON method is used to store information in an organized, and easy-to-access manner.
  • JSON stands for JavaScript Object Notation.
  • JSON Provides support for all browsers offers by many languages.
  • Douglas Crockford specified the JSON format in the early 2000s
  • JSON API offers high-level facade, which helps you to simplify commonly used use-cases
  • The important rules for writing JSON system is that data should be written in name/value pairs.
  • Number, String, Boolean, Null, Object, and Array are important Data types used in JSON.
  • It helps you to transfer data from a server.
  • JSON object has a type whereas XML data is typeless
  • JSON is not a document format
  • No namespace support, hence poor extensibility
  • JSONLint is an open-source project that is used as a validator and reformatter for JSON.