ホームページ  >  記事  >  バックエンド開発  >  PHP操作json

PHP操作json

WBOY
WBOYオリジナル
2016-08-08 09:29:291026ブラウズ

json は utf-8 でエンコードされた文字のみを受け入れるため、php の関数 json_encode() のパラメーターは utf-8 でエンコードされている必要があります

json 形式:

============ = ===============

JSON 形式が間違っています:

$error_json = "{ 'name': 'jack' }"; //json 区切り文字は二重引用符のみです。許可されますが、一重引用符は許可されません
$error_json = '{ name: "jack" }' //JSON キーと値のペアの「キー」(コロンの左側の部分) は二重引用符を使用する必要があります
$ error_json = ' { "name": "baz", }' //最後の値の後にカンマは追加できません

====================; ===== ====

正しい json 形式

$yes_json= '{"name":"jack"}';

PHP での操作:

(1) .json_encode( )関数: 配列とオブジェクトをjson形式に変換します

例:

①キーと値のペアの配列をjson形式に変換し、オブジェクト形式のjsonになります

$arr = array ( 'a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo "json化後のarrは: ".json_encode($arr);
======================================== ==== =========
json化後のarrは: {"a":1,"b":2,"c":3,"d":4,"e":5 }

②インデックス配列をjson形式に変換すると、jsonの配列になります。 =================== [ "one","two","three"]


インデックス配列をオブジェクトに強制的に挿入します:

json_encode ( (object)$arr );

または json_encode ( $arr, JSON_FORCE_OBJECT );



③ public フィールドのみを残してクラスオブジェクトを json 形式に変換します

class ClassA {

エラーコード= '404';

public $public_var = 'これは public_var '; private $ private_var = 'これは private_var '; protected $protected_var = 'これは protected_var '; ==================


$ClassA = 新しい ClassA;
echo $classA_json;
===== =======================================
{" public_var":"これは public_var です" }



(2).json_decode()関数は、2番目のパラメータが渡されると、デフォルトでjson形式の文字列をオブジェクトオブジェクトに変換します。 trueの場合、php配列に変換されます

例:



① phpオブジェクトに変換されます

$json = '{"a":1,"b":2," c":3 ,"d":4,"e":5}var_dump($json);

========================= ===== ================

object(stdClass)#1 (5) { ["a"] => int(1) ["b" ] => int (2)

["c"] => int(3)

["e"] => int(5)

②.php配列に変換します

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode( $json, true));
===================================== ======= ===
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => ; int(3)
[ "d"] => int(4)
["e"] => int(5)
}

以上、内容も含めて PHP の操作 json を紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

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