$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
上記の例は次のように出力します:
オブジェクト(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
配列(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
$data='[{"名前":"a1","番号":"123","続き番号":"000","QQNo":""},{"名前":"a1","番号" :"123","続き番号":"000","QQNo":""},{"名前":"a1","番号":"123","続き番号":"000","QQNo": ""}]';
echo json_decode($data);
結果は次のとおりです:
Array ( [0] => stdClass オブジェクト ( [名前] => a1 [番号] => 123 [Contno] => 000 [QQNo] => ) [1] => stdClass オブジェクト ( [名前] => a1 [番号] => 123 [続き番号] => 000 [QQNo] => stdClass オブジェクト ( [名前] => a1 [番号] => 123 [続き] => 000 [QQ番号] => ) )
json_decode() でコンパイルされたものがオブジェクトであることがわかります。今度は json_decode($data,true) を出力してみます。
コードは次のとおりです
|
|
echo json_decode($data,true);
結果:
Array ( [0] => Array ( [名前] => a1 [番号] => 123 [Contno] => 000 [QQNo] => ) [1] => Array ( [名前] => a1 [番号] => 000 [QQNo] ) [2] => a1 [番号] => 123 => 000 [QQNo] => ) )
|
json_decode($data,true) が連想配列を出力することがわかります。json_decode($data) がオブジェクトを出力し、json_decode("$arr",true) が PHP 連想配列を強制的に生成することがわかります。配列
取得したJSONデータが以下の場合(curlやfsockopenなどで取得可能)
コードは次のとおりです
|
|
{
"から":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"こんにちは"
}
】
}
|
1. json_decode が配列を返す方法:
json_decode($data,true); json_decode 関数を使用して、取得する配列を返します。
コードは次のとおりです
|
|
配列
(
[から] =>
[へ] =>
[trans_result] => 配列
(
[0] =>
(
[Src] = & gt; こんにちは
)
)
)
PHP言語で必要な値を取得するには、次のメソッドを使用できます。
|
コードは次のとおりです
|
$data = <<
{
"から":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"こんにちは"
}
]
}
ストラ;
$jsondata=json_decode($data,true);
header("Content-Type: text/html; charset=UTF-8");
print_r($jsondata);www.111cn.net
echo " ".$jsondata['to']; //ja
echo " ".$jsondata['trans_result'][0]['dst']; //こんにちは
?>
2. json_decode がオブジェクトを返す方法:
json_decode($data);
json_decode 関数を使用して、取得するオブジェクトを返します。
コードは次のとおりです |
|
stdClassオブジェクト
(
[から] =>
[へ] =>
[trans_result] => 配列
(
[0] => stdClass オブジェクト
(
[Src] = & gt; こんにちは
以来
)
)
)
|
PHP言語で必要な値を取得するには、次のメソッドを使用できます。
コードは次のとおりです
|
|
$data = <<
{
"から":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"こんにちは"
}
】
}
STR;
$jsondata=json_decode($data);
header("Content-Type: text/html; charset=UTF-8");
print_r($jsondata);
echo " ".$jsondata->from;
echo " ".$jsondata->trans_result[0]->src; //こんにちは
?>
|
http://www.bkjia.com/PHPjc/733190.html www.bkjia.com
truehttp://www.bkjia.com/PHPjc/733190.html技術記事 1.json_decode() json_decode (PHP 5 = 5.2.0、PECL json = 1.2.0) JSON 形式の文字列の json_decode エンコード命令混合 json_decode ( string $json [, bool $assoc ] ) は 1 つを受け入れます...
|
|