What is JSON?
JSON stands for JavaScript Object Notation, and is a syntax for storing and exchanging data.
Since the JSON format is a text-based format, it can easily be sent to and from a server, and used as a data format by any programming language.
PHP and JSON
PHP has some built-in functions to handle JSON.
First, we will look at the following two functions:
- json_encode[]
- json_decode[]
PHP - json_encode[]
The json_encode[] function is used to encode a value to JSON format.
Example
This example shows how to encode an associative array into a JSON object:
Run Example »
Example
This example shows how to encode an indexed array into a JSON array:
Run Example »
PHP - json_decode[]
The json_decode[] function is used to decode a JSON object into a PHP object or an associative array.
Example
This example decodes JSON data into a PHP object:
Run Example »
The json_decode[] function returns an object by default. The json_decode[] function has a second parameter, and when set to true, JSON objects are decoded into associative arrays.
Example
This example decodes JSON data into a PHP associative array:
Run Example »
PHP - Accessing the Decoded Values
Here are two examples of how to access the decoded values from an object and from an associative array:
Example
This example shows how to access the values from a PHP object:
Run Example »
Example
This example shows how to access the values from a PHP associative array:
Run Example »
PHP - Looping Through the Values
You can also loop through the values with a foreach[] loop:
Example
This example shows how to loop through the values of a PHP object:
Run Example »
Example
This example shows how to loop through the values of a PHP associative array:
Run Example »
This chapter covers how to encode and decode JSON objects using PHP programming language. Let's start with preparing the environment to start our programming with PHP for JSON.
Environment
As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.
JSON Functions
json_encode | Returns the JSON representation of a value. |
json_decode | Decodes a JSON string. |
json_last_error | Returns the last error occurred. |
Encoding JSON in PHP [json_encode]
PHP json_encode[] function is used for encoding JSON in PHP. This function returns the JSON representation of a value on success or FALSE on failure.
Syntax
string json_encode [ $value [, $options = 0 ] ]
Parameters
value − The value being encoded. This function only works with UTF-8 encoded data.
options − This optional value is a bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT.
Example
The following example shows how to convert an array into JSON with PHP −
While executing, this will produce the following result −
{"a":1,"b":2,"c":3,"d":4,"e":5}
The following example shows how the PHP objects can be converted into JSON −
While executing, this will produce the following result −
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
Decoding JSON in PHP [json_decode]
PHP json_decode[] function is used for decoding JSON in PHP. This function returns the value decoded from json to appropriate PHP type.
Syntax
mixed json_decode [$json [,$assoc = false [, $depth = 512 [, $options = 0 ]]]]
Paramaters
json_string − It is an encoded string which must be UTF-8 encoded data.
assoc − It is a boolean type parameter, when set to TRUE, returned objects will be converted into associative arrays.
depth − It is an integer type parameter which specifies recursion depth
-
options − It is an integer type bitmask of JSON decode, JSON_BIGINT_AS_STRING is supported.
Example
The following example shows how PHP can be used to decode JSON objects −
While executing, it will produce the following result −
object[stdClass]#1 [5] { ["a"] => int[1] ["b"] => int[2] ["c"] => int[3] ["d"] => int[4] ["e"] => int[5] } array[5] { ["a"] => int[1] ["b"] => int[2] ["c"] => int[3] ["d"] => int[4] ["e"] => int[5] }