ホームページ >バックエンド開発 >PHPの問題 >php jsonの一般的なメソッドは何ですか

php jsonの一般的なメソッドは何ですか

青灯夜游
青灯夜游オリジナル
2021-09-18 16:56:422215ブラウズ

php 一般的な json メソッド: 1. json_encode()、JSON 形式の文字列をデコードするために使用; 2. json_encode()、JSON 形式の文字列をデコードするために使用; 3. json_last_error()、最後の結果を返すために使用発生したエラー。

php jsonの一般的なメソッドは何ですか

#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php json共通メソッド :

1. json_encode()

PHP json_encode() は変数を JSON エンコードするために使用され、この関数は実行されると JSON データを返します。成功した場合、そうでない場合は FALSE を返します。

構文

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

例:


<?php
   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 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 ]]])

パラメータ:

  • json_string: デコードされる JSON 文字列。UTF-8 でエンコードされたデータである必要があります

  • assoc: このパラメータが TRUE の場合は配列が返され、FALSE の場合はオブジェクトが返されます。

  • Depth: 再帰の深さを指定する整数型パラメータ

  • オプション: バイナリ マスク。現在、JSON_BIGINT_AS_STRING のみがサポートされています。

例:

出力結果:

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 エンコードおよびデコード中に発生した最後のエラーを返します。整数が返され、この値は次の定数のいずれかになります:

定数 意味可用性JSON_ERROR_DEPTHJSON_ERROR_STATE_MISMATCHJSON_ERROR_CTRL_CHAR##JSON_ERROR_UTF8例外的な UTF-8 文字。エンコードが正しくない可能性があります。 JSON_ERROR_RECURSION値に 1 つ以上の再帰参照がありますエンコードされる1 つ以上の 指定型、値をエンコードできません。 PHP 5.5.0
Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {&#39;Organization&#39;: &#39;PHP Documentation Team&#39;} - Syntax error, malformed JSON
PHP ビデオ チュートリアル
JSON エラー コード
##JSON_ERROR_NONEエラーなし発生しました
スタックの深さが最大値に達しました
無効または異常な JSON
#制御文字が間違っています。エンコードが間違っている可能性があります JSON_ERROR_SYNTAX
構文エラー
PHP 5.3.3
#PHP 5.5.0 JSON_ERROR_INF_OR_NAN
NAN# または #INF エンコードされる値の値 PHP 5.5.0##JSON_ERROR_UNSUPPORTED_TYPE
JSON_ERROR_INVALID_PROPERTY_NAME 指定されたプロパティ名はエンコードできません。 PHP 7.0.0
JSON_ERROR_UTF16 不正な形式の UTF-16 文字。おそらく文字コードが間違っています。 PHP 7.0.0
例: <pre class="brush:php;toolbar:false">&lt;?php // 一个有效的 json 字符串 $json[] = &amp;#39;{&quot;Organization&quot;: &quot;PHP Documentation Team&quot;}&amp;#39;; // 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &amp;#39; 代替了 &quot; 作为引号 $json[] = &quot;{&amp;#39;Organization&amp;#39;: &amp;#39;PHP Documentation Team&amp;#39;}&quot;; foreach ($json as $string) { echo &amp;#39;Decoding: &amp;#39; . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo &amp;#39; - No errors&amp;#39;; break; case JSON_ERROR_DEPTH: echo &amp;#39; - Maximum stack depth exceeded&amp;#39;; break; case JSON_ERROR_STATE_MISMATCH: echo &amp;#39; - Underflow or the modes mismatch&amp;#39;; break; case JSON_ERROR_CTRL_CHAR: echo &amp;#39; - Unexpected control character found&amp;#39;; break; case JSON_ERROR_SYNTAX: echo &amp;#39; - Syntax error, malformed JSON&amp;#39;; break; case JSON_ERROR_UTF8: echo &amp;#39; - Malformed UTF-8 characters, possibly incorrectly encoded&amp;#39;; break; default: echo &amp;#39; - Unknown error&amp;#39;; break; } echo PHP_EOL; } ?&gt;</pre>出力結果: 推奨される学習: 「

以上がphp jsonの一般的なメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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