Links

JSON Format Tutorial

Introduction

What is JSON?

JSON, or JavaScript Object Notation, is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate. JSON is a text format that is completely language-independent but uses conventions familiar to programmers of the C family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others.
Example
{
"name": "Alice Smith",
"age": 30,
"email": "[alice.[email protected]](<mailto:[email protected]>)",
"isStudent": false,
"courses": ["math", "history", "chemistry"],
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY",
"zipCode": "10001"
}
}
In this JSON example:
  • The person's name, email, and address fields are strings.
  • The age is a number.
  • The isStudent field is a boolean.
  • The courses field is an array of strings.
  • The address field is an object containing the street, city, state, and zipCode fields

Why JSON?

JSON is often used to transmit data between a server and a web application, serving as an alternative to XML. JSON is favored because it is:
  • Easy to read and write for humans
  • Easy to parse and generate for machines
  • Less verbose than XML
  • Natively supported in JavaScript
  • Widely supported in many programming languages

JSON Syntax

JSON syntax is a set of rules for writing JSON data. JSON data is represented using two structures:
  1. 1.
    A collection of key-value pairs (also known as an object)
  2. 2.
    An ordered list of values (also known as an array)
The key features of JSON syntax are:
  • Data is stored in key-value pairs, separated by colons (:)
  • Curly braces ({}) hold objects
  • Square brackets ([]) hold arrays
  • Keys must be strings wrapped in double quotes (")
  • Values can be strings, numbers, booleans, objects, or arrays
  • Multiple key-value pairs in an object, as well as multiple values in an array, are separated by commas (,)

JSON Data Types

JSON supports the following data types:
String: A sequence of characters enclosed in double quotes, e.g., "hello"
Number: A number without quotes, e.g., 42 or 3.14. JSON numbers can be integers or floating-point values.
Boolean: Represents either true or false (without quotes)
Array: An ordered collection of values enclosed in square brackets, e.g., ["apple", "banana", "cherry"]
Object: A collection of key-value pairs enclosed in curly braces, e.g., {"name": "John", "age": 30}
null: Represents an empty value or non-existence (without quotes)

JSON Objects and Arrays

JSON Objects

A JSON object is a collection of key-value pairs, where each key is a string, and the value can be any JSON data type. JSON objects are wrapped in curly braces ({}). For example:
jsonCopy code
{
"name": "John Doe",
"age": 35,
"isStudent": false
}

JSON Arrays

A JSON array is an ordered collection of values, where each value can be any JSON data type. JSON arrays are wrapped in square brackets ([]). For example:
jsonCopy code
[
{
"name": "John Doe",
"age": 35,
"isStudent": false},
{
"name": "Jane Doe",
"age": 28,
"isStudent": true
}
]