PHP JSON
This chapter we will introduce how to use the PHP language to encode and decode JSON objects.
Environment Configuration
In php5.2.0 and above has built JSON extension.
JSON Functions
function | description |
---|---|
json_encode | The variables are encoded in JSON |
json_decode | String JSON format decoding, converted to PHP variables |
json_last_error | Returns last error occurred |
json_encode
PHP json_encode () for JSON-encoded variables, the function returns JSON data if executed successfully, otherwise it returns FALSE.
grammar
string json_encode ( $value [, $options = 0 ] )
parameter
- value: the value to be encoded.This function is only valid for UTF-8 encoded data.
- options: consisting of the following constants binary mask: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS , JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
Examples
The following example demonstrates how PHP array into JSON formatted data:
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
The above code is executed as a result of:
{"a":1,"b":2,"c":3,"d":4,"e":5}
The following example demonstrates how PHP object into a JSON formatted data:
<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p"); $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03")); echo json_encode($e); ?>
The above code is executed as a result of:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
json_decode
PHP json_decode () function is used to format JSON string is decoded and converted to PHP variables.
grammar
mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
parameter
json_string: to be decoded JSON strings must be UTF-8 encoded data
assoc: When this parameter is TRUE, it returns an array, returns the object FALSE.
depth: an integer value that specifies the recursion depth
options: a binary mask, currently only supports JSON_BIGINT_AS_STRING.
Examples
The following example demonstrates how to decode JSON data:
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
The above code is executed as a result of:
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) }