ホームページ  >  記事  >  バックエンド開発  >  PHP アプリケーションの JSON スキルの説明_PHP チュートリアル

PHP アプリケーションの JSON スキルの説明_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:13:35774ブラウズ

php json_decode 戻りデータ js 処理

php json_decode、フロントデスクに返されるデータは次のようなものです: encode_str =》{"green":10,"size":5,"strock":12}
その後 js eval ("obj = " + encode_str + ";") ; を渡します
json データはオブジェクトにインスタンス化でき、データは obj.green を通じて直接取得できます。

JavaScript では、次のように、{} を使用してオブジェクトを表すことができ、[] を使用して配列を表すことができます。

var obj={"a":"v","b":"x"};//これは、変数 obj が 2 つの属性 a と b を持ち、属性値が次のとおりであることを意味します。 : v と x それぞれ。

var arr=["v","x"];//これは、変数 arr が 2 つの要素、インデックスが 0 と 1、および値を持つことを意味します。は: v と x です。
JSON は実際には、データの論理構造を表すためにこれら 2 つの形式が混合されています

PHP は、JSON 形式でデータを生成および解析するための特別な関数を提供します。PHP によって解析されるデータは、元の Javascript データと同じ意味を持ちます。つまり、JavaScript オブジェクトは PHP オブジェクトに解析され、JavaScript 配列は PHP 配列に解析され、PHP になります。 JSON 関数を適用します: json_encode($PHPcode);

JSON を解析するための PHP 関数は: json_decode($JSONcode);

つまり、JSON にはさまざまな形式があり、形式が異なれば、PHP によって解釈された後の形式も異なります。


コードをコピーします コードは次のとおりです:
//形式 1: 完全にオブジェクトの形式のデータは、JavaScript では関連配列とも呼ばれます

渡すことができます 文字列はアクセスするためのインデックスとして使用されます (レベルを示すには "[]" または "."
を使用します)
$json='{"item1":{"item11":{"n":"chenling" ,
"m": "llll"},"sex":"男性","年齢":"25"},"item2":
{"item21":"ling","sex":"女性", "age":"24 "}}';
$J=json_decode($json);


コードをコピーします:


stdClass オブジェクト
( [item1 ] => stdClass オブジェクト ( [item11] => stdClass オブジェクト (
[n] => チェンリン
[m] => llll
)
[sex] = > 男性
[年齢] =& gt 25
たとえば、値が chenling である属性を取得した後、次のようにアクセスする必要があります:
$J->item1->item11->n; //これは属性 n の値を取得します: chenling
実際、このアクセス フォームは access と同じです。オブジェクトのプロパティは似ており、3 次元配列にアクセスするのと同等です。



コードをコピーします

コードは次のとおりです:


//フォーム 2: オブジェクトと配列の混合
$json='{"item1":[{"name":[{"chen":
) "チェンリン", "リン":"チェンリー"}],"性別":
"男性","年齢":"25"},{"名前":"太陽","性別":
"女性", "年齢": "24"}]}';
$J=json_decode($json);
stdClass オブジェクト
(
[item1] => 配列
[ 0] => stdClass オブジェクト
(
[名前] => 配列 ( [0] => stdClass オブジェクト ( [chen] => チェンリン
[ling] => チェンリー
)
)
[性別] => 男性
[年齢] => 25
)
[1] => stdClass オブジェクト
(
[名前] => 女性
[年齢] => ; 24
)
)
)


たとえば、値が chenling である要素を取得したい場合は、次のようにアクセスする必要があります:
$J->item1[0]->name[0] ->chen;// これにより、要素 chen の値が取得されます: chenling
実際、この PHP アプリケーションの JSON フォームはオブジェクトと配列のアクセス メソッドを組み合わせており、これは 5 次元配列へのアクセスと同等です。



コードをコピーします

コードは次のとおりです:

//フォーム 3: 完全な配列フォーム
$json='[["item1","item11"],[
"n","chenling"],["m","llll"]]'; $J=json_decode($json);
print_r($J);
は次のように出力されます:
Array
(
[0] => Array
(
[0] => item1
[1] => item11)
)
[1] => 配列
(
[0] => n
[1] => チェンリン
)
[2] => 配列
(
[0] => m
[ 1] => lll
)
)

たとえば、値が chenling である要素を取得したい場合は、次のようにアクセスする必要があります:
$J[0][1];//これにより、要素値 chenling を持つ要素が取得されます

しかし、この方法の使用には欠点があります。つまり、文字列をインデックスとして使用することができず、数値のみを使用できるということです。実際、このアクセス フォームは、完全なオブジェクトの形式で解決できます。配列。これは 2 次元配列にアクセスするのと同じです。

PHP アプリケーションの JSON 概要:

上記の PHP アプリケーションの JSON の例から、JSON は XML に似ており、PHP と JavaScript の間で構造化データを転送することもでき、非常に使いやすいことがわかります。

各属性と属性値は引用符「"」で囲まれていることに注意してください。

http://www.bkjia.com/PHPjc/326491.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326491.html技術記事 php json_decode はデータを返します。 js は php json_decode を処理し、次のようなデータをフロントデスクに返します。 encode_str =》{"green":10,"size":5,"strock":12} その後、js は eval("obj = " + encode_str +...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。