Json Format

Json Format

JSON (JavaScript Object Notation, pronounced /ˈdʒeɪsən/; also /ˈdʒeɪˌsɒn/) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). … JSON file names use the extension .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

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 TypeDescription
NumberIt includes real number, integer or a floating number
StringIt consists of any text or Unicode double-quoted with backslash escapement
BooleanThe Boolean data type represents either True or False values
NullThe Null value denotes that the associated variable doesn’t have any value
ObjectIt is a collection of key-value pairs and always separated by a comma and enclosed in curly brackets.
ArrayIt 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:

TypeDescription
IntegerNumber 1-9, and 0. Both positive and negative numbers.
FractionFractions like 3
ExponentExponent 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:

TypeDescription
*Use for double quotation typing
/Use for solidus
\Use for reverse solidus
BUse to add backspace
FFrom feed
NTo create a new line
RUse for carriage return
TTo show horizontal tab
UHexadecimal 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 transmitting and serializing 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 applications, 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

JSONXML
JSON object has a typeXML data is typeless
JSON types: string, number, array, BooleanAll XML data should be string
Data is readily accessible as JSON objectsXML 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 easyRetrieving value is difficult
Supported by many Ajax toolkitNot fully supported by Ajax toolkit
A fully automated way of deserializing/serializing JavaScript.Developers have to write JavaScript code to serialize/deserialize from XML
Native support for objects.The object has to be expressed 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 a recurring or cyclical structure.
  • 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

Follow Me

If you like my post please follow me to read my latest post on programming and technology.

Instagram

Facebook

Recent Posts

Generate Parenthesis | Intuition + Code | Recursion Tree | Backtracking | Java

Problem Statement: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example…

3 months ago

Square Root of Integer

Given an integer A. Compute and return the square root of A. If A is…

1 year ago

Build Array From Permutation

Given a zero-based permutation nums (0-indexed), build an array ans of the same length where…

1 year ago

DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is…

2 years ago

DSA: Trie

What is a Trie in DSA? A trie, often known as a prefix tree, is…

2 years ago

Trees: Lowest Common Ancestor

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of…

2 years ago