How to work with JSON (JavaScript Object Notation)

In this article I will write about working with JSON. JSON stands for JavaScript Object Notation. It is a great way to send objects back and forth through client-server and also to create API’s that return JSON when information is requested. Lets look at an object in javascript.


var object = {
self : {name:"customer1",job:"cashier"},
todo :"jsonobject",
names : [{employ:"work",happy:true,work:"program"},
{employ:"job",happy:false,work:"intro"}]
};

This object, called object has a couple variables and an array names. Now lets see this object in JSON format.


{"self":{"name":"customer1","job":"cashier"},
"todo":"jsonobject",
"names":[{"employ":"work","happy":true,"work":"program"},
{"employ":"job","happy":false,"work":"intro"}]}

in javascript to turn an object into JSON you use the JSON.Stringify method

JSON.stringify(object);

And to turn JSON into and Object you use JSON.Parse method


var object = JSON.parse(json);

Now to work with JSON in php you can make objects in php and then use json_encode to turn the object into JSON like this


<?php $myObj = new \stdClass();
$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";
$myArray = array();
for($i = 0;$i < 10;$i++){
$myArray[$i] ="hello world".$i;
}
$myObj->hello = $myArray;
$myJSON = json_encode($myObj);
echo $myJSON;
?>

Now the variable $myJSON will look like this after you encode it


{"name":"John",
"age":30,
"city":"New York",
"hello":["hello world0","hello world1",
"hello world2","hello world3","hello world4",
"hello world5","hello world6","hello world7",
"hello world8","hello world9"]}

and if you are sending a JSON object to a php script using JSON.stringify you can grab the object in php with something like this using json-decode

$obj = json_decode($_POST["x"], false);

And that is pretty much the basics for using JSON in javascript and php. One note i was looking around and it appears that you are not supposed to send functions through JSON but there is a way that is not consistent so it shouldnt actually be done, as far as i know. I hope you enjoyed this article. Untill next time 🙂

%d bloggers like this: