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 🙂
SightPro Magnetic Privacy Screen for MacBook Air 13 Inch (2018, 2019, 2020, 2021, M1) Removable Laptop Privacy Filter Shield and Anti-Glare Protector
$29.99 (as of April 19, 2024 18:29 GMT -04:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)All-new Amazon Fire HD 10 tablet, built for relaxation, 10.1" vibrant Full HD screen, octa-core processor, 3 GB RAM, latest model (2023 release), 32 GB, Ocean
$83.59 (as of April 19, 2024 18:29 GMT -04:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Dell 65W USB-C Laptop Charger for XPS and Latitude 5000 - Power Cord Included
$25.84 (as of April 19, 2024 18:29 GMT -04:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Amazon Fire HD 8 tablet, 8” HD Display, 32 GB, 30% faster processor, designed for portable entertainment, (2022 release), Black
$99.99 (as of April 19, 2024 18:29 GMT -04:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Acer Aspire 3 A315-24P-R7VH Slim Laptop | 15.6" Full HD IPS Display | AMD Ryzen 3 7320U Quad-Core Processor | AMD Radeon Graphics | 8GB LPDDR5 | 128GB NVMe SSD | Wi-Fi 6 | Windows 11 Home in S Mode
$299.99 (as of April 19, 2024 18:29 GMT -04:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Author: John Rowan
I am a Senior Android Engineer and I love everything to do with computers. My specialty is Android programming but I actually love to code in any language specifically learning new things.