Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

totanbir/json-guide

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Json-Guide

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate.

Comments


Comments are not Supported in JSON 😃

Json Syntax


Json data types:

  • a string
  • a number
  • an object (JSON object)
  • an array
  • a boolean
  • null

Json number types:

  • Integer
  • Fraction
  • Exponent

Json Objects:

{
"developer":{ "name":"Rafi", "age":20, "city":"Barisal" }
}

Json Array:

{
"developer":[ "Rafi", "Dhaka", "Bangladesh" ]
}

Json Strings:

{ "name":"Rafi" }

Json Numbers:

{ "year": 2017 }

Json Booleans:

{ "name": true }

Json Null:

{ "name": null }

Example showing array containing multiple objects:

{
   "devlopers": [
      { "name":"nahid" , "skill":"laravel" },
      { "name":"rid" , "skill":"php" },
      { "name":"rafi" , "skill":"html" }
   ]
}

Json Objects


Json Object Syntax:

{ "name":"rafi", "age":10, "class":null, "year": true }

Json Accessing Object Values:

obj = { "name":"rafi", "age":10, "class":null, "year": true };
myobj= obj.name;

or

obj = { "name":"rafi", "age":10, "class":null, "year": true };
myobj= obj["name"];

Json Looping Object:

loopobj = { "name":"rafi", "age":10, "class":null, "year": true };
for (x in loopobj) {
    document.getElementById("demo").innerHTML += x;
}

or

loopobj = { "name":"rafi", "age":10, "class":null, "year": true };
for (x in loopobj) {
    document.getElementById("demo").innerHTML += loopobj[x];
}

Json Nested Objects:

Nesobj = {
    "name":"nahid",
    "age":30,
    "skill": {
        "skill1":"laravel",
        "skill2":"php",
        "skill3":"js",
        "skill4":"vue.js"
    }
 }

Access nested Json objects

 x = nesobj.skill.skill3;

or

x = nesobj.skill["skill3"];

Json Arrays


Arrays in Json Objects:

arrobj = {
"name":"Rafi",
"phone":01723*****,
"address": "Dhaka, Bangladesh",
"skill":[ "php", "html", "css", "javascript" ]
}

Access Array Values

x = arrobj.skill[0];

Json Looping array:

for (i in arrobj.skill) {
    x += arrobj.skill[i];
}

or

for (i = 0; i < arrobj.skill.length; i++) {
    x += arrobj.skill[i];
}

Json Nested arrays:

nesarr = {
    "name":"Rafi",
    "age":10,
    "year":2017,
    "computer": [
        { "name":"MacBook Pro ", "models":[ "MacBookPro14,1", "MacBookPro14,2", "MacBookPro14,3" ] },
        { "name":"dell", "models":[ "XPS 13", "XPS 15", "XPS 13 2-in-1" ] },
        { "name":"fujitsu", "models":[ "LH-532", "LH-531" ] }
    ]
 }

Access Nested array Values

for (i in nesarr.computer) {
   x += "<p>" + nesarr.computer[i].name + "</p>";
   for (j in nesarr.computer[i].models) {
       x += nesarr.computer[i].models[j];
   }
}

Json Modify array Values:

nesarr.computer[1] = "XPS 17"

Json Delete array:

delete nesarr.computer[1];

Json parse


Json Parsing

'{ "name":"Rafi", "Phone":01723, "city":"Dhaka"}'

Use the JavaScript function Json parse

var json = '{"name":"rafi", "result":true,"count":2}',
obj = JSON.parse(json);

Use the JavaScript object

<h1 id="demo"></h1> 
<script>
document.getElementById("demo").innerHTML = json.name + ", " + json.city; 
</script>

get data from the server:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML = obj.name;
    }
};
xmlhttp.open("GET", "json_demo.txt", true);
xmlhttp.send();

Json stringify


Json Stringify with JavaScript Object:

var myobj = { "name":"Rafi", "hometown":"Barisal", "currentcity":"Dhaka", "phone":01723****};

JavaScript function JSON.stringify, and string data sent to be a server

var myJSON = JSON.stringify(myobj);
document.getElementById("demo").innerHTML = myJSON;

Json Stringify date:

var myobj = { "name":"Rafi", "date":new Date(), "home":"Barisal" };

Json Stringify function:

var myobj = { "name":"Rafi", "phone":function () {return 01723***;}, "home":"Barisal" };

JSON Schema


Building a product schema:

JSON data for a product API

{
    "id": 1,
    "name": "Ace Plus",
    "price": 12.50,
    "tags": ["medicine", "drug"]
}

Starting the schema

{
   "$schema": "http://json-schema.org/draft-06/schema#",
   "title": "Product",
   "description": "A product from Medicine",
   "type": "medicine"
}

Defining the properties:

what is id?

{
   "$schema": "http://json-schema.org/draft-06/schema#",
   "title": "Product",
   "description": "A product from Medicine",
   "type": "object",
   "properties": {
         "id": {
            "description": "The unique indentifier for a product",
            "type": "integer"
         }
     },
    "required": ["id"]
}

Is name required?

{
   "$schema": "http://json-schema.org/draft-06/schema#",
   "title": "Product",
   "description": "A product from Medicine",
   "type": "object",
   "properties": {
         "id": {
             "description": "The unique identifier for a product",
             "type": "integer"
         },
         "name": {
              "description": "Name of the product",
              "type": "string"
         },
         "required": ["id","name"]
}

Can price be 0?

{
    "$schema": "http://json-schema.org/draft-06/schema#",
    "title": "Product",
    "description": "A product from Acme's catalog",
    "type": "object",
    "properties": {
        "id": {
            "description": "The unique identifier for a product",
            "type": "integer"
        },
        "name": {
            "description": "Name of the product",
            "type": "string"
        },
        "price": {
            "type": "number",
            "exclusiveMinimum": 0
        }
    },
    "required": ["id", "name", "price"]
}

Are all tags strings?

{
    "$schema": "http://json-schema.org/draft-06/schema#",
    "title": "Product",
    "description": "A product from Acme's catalog",
    "type": "object",
    "properties": {
        "id": {
            "description": "The unique identifier for a product",
            "type": "integer"
        },
        "name": {
            "description": "Name of the product",
            "type": "string"
        },
        "price": {
            "type": "number",
            "exclusiveMinimum": 0
        },
        "tags": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "minItems": 1,
            "uniqueItems": true
        }
    },
    "required": ["id", "name", "price"]
}

Summary of products:

[
    {
        "id": 2,
        "name": "An ice sculpture",
        "price": 12.50,
        "tags": ["cold", "ice"],
        "dimensions": {
            "length": 7.0,
            "width": 12.0,
            "height": 9.5
        },
        "warehouseLocation": {
            "latitude": -78.75,
            "longitude": 20.4
        }
    },
    {
        "id": 3,
        "name": "A blue mouse",
        "price": 25.50,
        "dimensions": {
            "length": 3.1,
            "width": 1.0,
            "height": 1.0
        },
        "warehouseLocation": {
            "latitude": 54.4,
            "longitude": -32.7
        }
    }
]

Json-Examples


JSON with Php

encode

$myArray = array('Name' => 'Tanbir', 'Age' => 22, 'City' => 'Dhaka', 'Job' => 'nai');
echo json_encode($myArray);

decode

$json = '{"Name": "Tanbir","Age": 22,"City": "Dhaka","Job": "nai"}';
var_dump(json_decode($json));

JSON with Python

encode

data = [ { 'Name' : 'Rafi', 'Age' : 8, 'City' : 'Dhaka', 'Job' : 'nai'} ]
json = demjson.encode(data)
print json

decode

json = '{"html":5,"css":3,"laravel":5.5}';
text = demjson.decode(json)
print  text

JSON with Java

encode

class JsonEncodeDemo {

   public static void main(String[] args){
      JSONObject obj = new JSONObject();

      obj.put("name", "rafi");
      obj.put("number", new Integer(01723));
      obj.put("balance", new Double(123450.21));
      obj.put("ip", new Boolean(true));

      System.out.print(obj);
   }
}

decode

String jsonString = "{\"stat\":{\"sdr\": \"aa:bb:cc:dd:ee:ff\",\"rcv\": \"aa:bb:cc:dd:ee:ff\",\"time\": \"UTC in millis\",\"type\": 1,\"subt\": 1,\"argv\": [{1,2},{2,3}]}}";
JSONObject jsonObject = new JSONObject(jsonString);
JSONObject newJSON = jsonObject.getJSONObject("stat");
System.out.println(newJSON);

License

License: MIT

Admin

Tanbir

Contributors

contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.