JSON 関数
PHP Manual

json_encode

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

json_encode値を JSON 形式にして返す

説明

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

value を JSON 形式にした文字列を返します。

パラメータ

value

エンコードする値。 resource 型以外の任意の型を指定できます。

この関数は、UTF-8 エンコードされたデータでのみ動作します。

options

JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT からなるビットマスク。デフォルトは 0。

返り値

成功した場合に、JSON エンコードされた文字列を返します。

変更履歴

バージョン 説明
5.3.0 options パラメータが追加されました。
5.2.1 JSON エンコードの基本型のサポートを追加しました。

例1 json_encode() の例

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

echo 
json_encode($arr);
?>

上の例の出力は以下となります。

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

例2 json_encode() で、アクションのすべてのオプションを表示する例

<?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";
?>

上の例の出力は以下となります。

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}}

参考


JSON 関数
PHP Manual