JSON Functions
PHP Manual

json_encode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_encodeReturns the JSON representation of a value

Description

string json_encode ( mixed $value [, int $options = 0 ] )

Returns a string containing the JSON representation of value.

Parameters

value

The value being encoded. Can be any type except a resource .

This function only works with UTF-8 encoded data.

options

Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT.

Return Values

Returns a JSON encoded string on success.

Changelog

Version Description
5.3.0 The options parameter was added.
5.2.1 Added support to JSON encode basic types.

Examples

Example #1 A json_encode() example

<?php
$arr 
= array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo 
json_encode($arr);
?>

The above example will output:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Example #2 A json_encode() example showing all the options in action

<?php
$a 
= array('<foo>',"'bar'",'"baz"','&blong&');

echo 
"Normal: "json_encode($a), "\n";
echo 
"Tags: ",   json_encode($a,JSON_HEX_TAG), "\n";
echo 
"Apos: ",   json_encode($a,JSON_HEX_APOS), "\n";
echo 
"Quot: ",   json_encode($a,JSON_HEX_QUOT), "\n";
echo 
"Amp: ",    json_encode($a,JSON_HEX_AMP), "\n";
echo 
"All: ",    json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP), "\n\n";

$b = array();

echo 
"Empty array output as array: "json_encode($b), "\n";
echo 
"Empty array output as object: "json_encode($bJSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo 
"Non-associative array output as array: "json_encode($c), "\n";
echo 
"Non-associative array output as object: "json_encode($cJSON_FORCE_OBJECT), "\n\n";
?>

The above example will output:

Normal: ["<foo>","'bar'","\"baz\"","&blong&"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

See Also


JSON Functions
PHP Manual