php で JSON データを処理する最も一般的な方法は、処理に json_encode() 関数と json_decode() 関数を直接使用することです。これら 2 つの JSON 処理関数を、アプリケーションでの JSON のさまざまな使用方法について詳しく生徒に紹介したいと思います。それは助けになるでしょう 全員が助けます。
json_encode() 、PHP データ -> JSON
json_encode にはパラメーターが 1 つだけあり、パラメーターにはリソースタイプを除く任意のデータ型を指定できます。ただし、通常は次の例のように配列を渡します
コードは次のとおりです | コードをコピー |
$arr = 配列( |
このとき、変換された文字列は通常、処理のためにフロントエンドに出力されます。これは、ajax とのデータ対話や、一部のフロントエンド テンプレートからのデータ出力によく使用されます。 json_encode で注意が必要な問題の 1 つは、中国語のエンコーディングの問題です。PHP ページのエンコーディングが utf-8 以外の場合、json_encode の前に中国語のコンテンツを含む部分を utf-8 エンコーディングに変換する必要があります。フロントエンドに出力すると出力が文字化けします。オンラインには多くの解決策があります。簡単なコード変換の例を次に示します。
コードは次のとおりです
$arr = 配列( | |
「セックス」 => 1 ); $arr['name'] = iconv("gbk","utf-8",$arr['name']); $json_str = json_encode($arr); PHPデータ | json_decode には 2 つのパラメータがあります。最初のパラメータはデコードされる json 文字列です。実際、json_decode は json_encode の逆のプロセスです。
コードは次のとおりです
コードをコピー
$json_str = '{"名前":"マンソン","年齢":23,"性別":1}'; | $arr = json_decode($json_str,true); var_dump($arr); |
|
コードをコピー
["年齢"]=> int(23) | ["セックス"]=> int(1)} | ||||||||||||||||||||||||||||||||||||||
コードをコピー | |
{"a":1,"b":2}
|
コードをコピー | |
$s=$_POST['data'] ;//または $_GET['data']
|
コードをコピー | |
{"a":1,"b":2}
|
print_r($obj);
エコー $obj->a;
コードは次のとおりです
コードをコピー
$obj = json_decode($s);
コードは次のとおりです
| 問題ありません
コードは次のとおりです
| この方法でjsonをデコードするだけです。
インターフェース ファイルのページが /api.php?action=open_getBlogList&only_recommend=1&limit=5 であると仮定すると、次のステートメントを使用してこのインターフェース ファイルのコンテンツを取得できます。
コードは次のとおりです
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb"); | $content = "";|||||||||||||
} fclose($handle); このようにして、コンテンツは JSON API コンテンツを保存します。 PHP は JSON を解析して表示します
解析後、PHP の配列データと同じ方法で JSON 内のデータを呼び出すことができます。この呼び出しメソッドは、特定の JSON データ形式に従って作成する必要があります。以下のデモを参照してください。 json_decode 関数の使用方法については、PHP マニュアルを参照してください。ここでは詳しく説明しません: http://php.net/manual/en/function.json-decode.php 。実用的なAPI
友達記事の推奨は、Qiongtai Blog が開始したブログ間のコミュニケーション方法であり、従来の友達リンクよりも効果的であると同時に、補完的なブログコンテンツを実現します。 Qiongtai Blog のブログ プログラムは彼自身が作成したものであるため、最新のおすすめ記事を取得するための JSON API インターフェイスを提供しています。 このJSONインターフェースをPHPで取得し、ブログのサイドバーに出力してみます。 最初のステップは、API呼び出しメソッドを確認することです
2番目のステップはAPI構造データを取得することです
3番目のステップ、コンテンツを解析して出力します
次のコードを使用してデータを解析し、出力を呼び出します
|