#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターphp 一般的な json メソッド: 1. json_encode()、JSON 形式の文字列をデコードするために使用; 2. json_encode()、JSON 形式の文字列をデコードするために使用; 3. json_last_error()、最後の結果を返すために使用発生したエラー。
php json共通メソッド :
1. json_encode()
PHP json_encode() は変数を JSON エンコードするために使用され、この関数は実行されると JSON データを返します。成功した場合、そうでない場合は FALSE を返します。 構文string json_encode ( $value [, $options = 0 ] )
<?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()
json_decode() 関数は、JSON 形式の文字列をデコードし、PHP 変数に変換するために使用されます。 構文:mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
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) }
3, json_last_error()
json_last_error —発生した最後のエラーを返します 構文:json_last_error()
意味 | 可用性 | |
---|---|---|
##JSON_ERROR_NONE エラーなし発生しました | ||
スタックの深さが最大値に達しました | ||
無効または異常な JSON | ||
#制御文字が間違っています。エンコードが間違っている可能性があります
| JSON_ERROR_SYNTAX | |
構文エラー | ##JSON_ERROR_UTF8 | |
PHP 5.3.3
| JSON_ERROR_RECURSION | |
#PHP 5.5.0
| JSON_ERROR_INF_OR_NAN | |
NAN#
または #INF
エンコードされる値の値 | PHP 5.5.0 ##JSON_ERROR_UNSUPPORTED_TYPE
| 指定型、値をエンコードできません。 PHP 5.5.0 |
JSON_ERROR_INVALID_PROPERTY_NAME | 指定されたプロパティ名はエンコードできません。 | PHP 7.0.0 |
JSON_ERROR_UTF16 | 不正な形式の UTF-16 文字。おそらく文字コードが間違っています。 | PHP 7.0.0 |
例: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php
// 一个有效的 json 字符串
$json[] = &#39;{"Organization": "PHP Documentation Team"}&#39;;
// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &#39; 代替了 " 作为引号
$json[] = "{&#39;Organization&#39;: &#39;PHP Documentation Team&#39;}";
foreach ($json as $string) {
echo &#39;Decoding: &#39; . $string;
json_decode($string);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo &#39; - No errors&#39;;
break;
case JSON_ERROR_DEPTH:
echo &#39; - Maximum stack depth exceeded&#39;;
break;
case JSON_ERROR_STATE_MISMATCH:
echo &#39; - Underflow or the modes mismatch&#39;;
break;
case JSON_ERROR_CTRL_CHAR:
echo &#39; - Unexpected control character found&#39;;
break;
case JSON_ERROR_SYNTAX:
echo &#39; - Syntax error, malformed JSON&#39;;
break;
case JSON_ERROR_UTF8:
echo &#39; - Malformed UTF-8 characters, possibly incorrectly encoded&#39;;
break;
default:
echo &#39; - Unknown error&#39;;
break;
}
echo PHP_EOL;
}
?></pre><div class="contentsignin">ログイン後にコピー</div></div> 出力結果: | 推奨される学習: 「 | PHP ビデオ チュートリアル」 |