ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルで json_decode が配列またはオブジェクトを返す

php_PHP チュートリアルで json_decode が配列またはオブジェクトを返す

WBOY
WBOYオリジナル
2016-07-13 10:39:08843ブラウズ

1.json_decode()

json_decode

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

json_decode — 文字列を JSON 形式でエンコードします

指示

mixed json_decode ( string $json [, bool $assoc ] )

JSON 形式の文字列を受け入れ、それを PHP 変数に変換します

パラメータ

json

デコードするjson文字列形式の文字列。

アソック

このパラメータがTRUEの場合、オブジェクトの代わりに配列が返されます。

戻り値

オブジェクトを返すか、オプションの assoc パラメータが TRUE の場合は、代わりに連想配列が返されます。

例 #1 json_decode() の例

コードは次のとおりです
$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などで取得可能)

コードは次のとおりです

1. json_decode が配列を返す方法:

json_decode($data,true); json_decode 関数を使用して、取得する配列を返します。

{

"から":"zh",
"to":"en",
"trans_result":[
{
"src":"u4f60u597d",
"dst":"こんにちは"
}

}

コードは次のとおりです
配列

(
[から] => [へ] => [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 関数を使用して、取得するオブジェクトを返します。

PHP言語で必要な値を取得するには、次のメソッドを使用できます。
コードは次のとおりです

stdClassオブジェクト
(
[から] => [へ] => [trans_result] => 配列
(
[0] => stdClass オブジェクト
(
[Src] = & gt; こんにちは
以来 )

)

)

コードは次のとおりです $data = << {http://www.bkjia.com/PHPjc/733190.html
"から":"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; //こんにちは
?>




www.bkjia.com

tru​​ehttp://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 つを受け入れます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。