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 đŸ™‚