As you know, JSON can be used with many programming languages; It is also popularly used with Java, PHP, and Python. In this tutorial, you will learn about the encoding and decoding of JSON objects through PHP. So, let us dig deep into it.
PHP json_decode and json_encode functions are used to decode and encode JSON object.
PHP JSON Functions
Function | Uses |
---|---|
json_decode | Decodes a JSON string |
json_encode | Returns the JSON representation of a value |
json_last_error | Returns the last error occurred |
json_decode
PHP json_decode() function is used to decode JSON objects, and converts it into a PHP variable.
Syntax:
json_decode ($json [, $assoc = false [, $depth = 512 [, $options = 0 ]]])
Parameter | Type | Description |
---|---|---|
json_string | string | JSON string must be UTF-8 encoded data, which is being decoded, |
assoc | bool | When true, the returned objects will be converted into an associative array. |
depth | integer | Specify recursion depth. |
options | integer | bitmask of JSON decode, JSON_BIGINT_AS_STRING is supported. |
Example:
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
This will produce the following results on executing:
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)
}
json_encode
PHP json_encode() function is used to convert PHP array/objects into JSON value. this function returns JSON representation of a string if the function success or FALSE on failure.
Syntax:
string json_encode ( $value [, $options = 0 ] )
Parameter | Type | Description |
---|---|---|
value | multiple | JSON all string data must be UTF-8 encoded, which is being encoded. |
options | Integer | 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, JSON_UNESCAPED_UNICODE. |
Example: Converting a PHP array to JSON:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
This will produce the following results on executing:
{"a":1,"b":2,"c":3,"d":4,"e":5}
Example: Converting PHP objects to JSON:
<?php
class Employee {
public $name = '';
public $age = '';
public $role = '';
}
$obj = new Employee();
$obj->name = 'Alex';
$obj->age = 24;
$obj->role = 'PHP Developer';
echo json_encode($obj);
?>
This will produce the following results on executing:
{"name":"Alex","age":24,"role":"PHP Developer"}