JSON形式データを処理するPHPの古典的なケースのまとめ、JSONクラシックケース_PHPチュートリアル
phpでjson形式のデータを処理する、jsonの古典的な事例まとめ
この記事では、phpでjson形式のデータを処理する方法をまとめています。参考のために皆さんと共有してください。詳細は次のとおりです:
1.jsonの紹介:
jsonとは何ですか?
簡単に言うと、JSON は JavaScript オブジェクトで表されるデータのセットを文字列に変換し、関数間で、または Web クライアントからサーバー側のプログラムに簡単に渡すことができます。
平たく言えば、PHP のシリアル化された文字列のようなデータ ストレージ形式です。
これは一種のデータ記述でもあります。たとえば、配列をシリアル化して保存すると、同じことが json にも当てはまりますが、クライアント側の JavaScript との間の対話のためのブリッジが構築されます。サーバーサイドのphp。
jsonの使い方
php5.2 以降のバージョンには json サポートが組み込まれているため、2 つの主要な関数があります:
json_encode(): エンコーディング、json 文字列を生成します
json_decode(): デコード
注: json_encode() 関数でエンコードした後、次のような json 形式の文字列が返されます: $json = '{"a":1,"b":2,"c":3," d" :4,"e":5}'; 文字列をjson形式で出力すると、json形式のjavascriptオブジェクトが得られます
2.json ケース 1:
json_encodeの使用法:
リーリー結果:
リーリーヒント:出力データ自体はjson形式のjsオブジェクトであるため、フロントページで直接jsonオブジェクトとして使用できます
。概要: 連想配列はJavaScriptオブジェクトに従って構築されます
分析: 上記のケースは配列の単純な json 化です。非 utf-8 エンコードでは中国語の文字はエンコードされず、結果は null 値になるため、gb2312 エンコードを使用すると注意が必要です。 PHP コードを記述するには、iconv または mb シリーズ関数を使用して中国語を含むコンテンツを utf-8 に変換し、json_encode で使用する必要があります
3.json ケース 2:
json_decodeの使用法:
リーリー結果:
リーリー概要: 連想配列はJavaScriptオブジェクトに従って構築されます
ヒント:出力データ自体はjson形式のjsオブジェクトであるため、フロントページで直接jsonオブジェクトとして使用できます
。分析: エンコード後、デコードする必要があります。PHP は、対応する関数 json_decode を提供します。この関数を実行すると、オブジェクトまたは配列が取得されます。
4.json ケース 3:
フロントデスクと対話するとき、jsonの役割が表示されます:
例: JavaScript コードは次のとおりです:
リーリーコード分析: 上記のコードは、json形式のデータを変数に直接代入し、それがJavaScriptオブジェクトになるため、objを簡単にトラバースできます
ヒント: JavaScript では、配列へのアクセスはインデックスを通じて行われ、オブジェクト属性へのアクセスはオブジェクト名.プロパティ名を通じて行われます
ヒント:出力データ自体はjson形式のjsオブジェクトであるため、フロントページで直接jsonオブジェクトとして使用できます
。5.json ケース 4: json クロスドメイン データ呼び出し:
例: メインファイルindex.html
リーリー例: profile.phpというファイル
リーリーコード分析:index.html が profile.php を呼び出すと、json 文字列が生成され、パラメータとして getProfile に渡され、ニックネームが div に挿入されます。このようにして、クロスドメイン データ インタラクションが完了します。
6. js はサーバーから返された json 文字列をどのように解析しますか?
jQuery などのフレームワークが適用できないことを前提として、クライアントとサーバー間の対話に ajax を使用する場合、一般的なアプローチは、サーバーに json 文字列を返し、それをクライアントで JavaScript オブジェクトに解析することです。 。解析時に使用されるメソッドは一般的に eval または new function であり、現在 ie8 と firefox3.1 にはネイティブ json オブジェクトが組み込まれています。
例 1:
リーリー例 2:
リーリー7. ケース 5: オブジェクトの JSON 化
リーリーブラウザ出力:
リーリー結論: オブジェクトの json 文字列は、JavaScript オブジェクトに従って構築されます。中国語を認識できません。中国語の文字列はすべて正しく表示されません
分析: 上記のケースは、配列の単純な json 化です。非 utf-8 エンコードでは、中国語の文字はエンコードされず、結果は null 値になることに注意してください。 gb2312 エンコードを使用して PHP コードを記述する場合は、iconv または mb シリーズ関数を使用して中国語を含むコンテンツを utf-8 に変換し、json_encode で使用する必要があります
ヒント:出力データ自体はjson形式のjsオブジェクトであるため、フロントページで直接jsonオブジェクトとして使用できます
。8. ケース 6: インデックス配列の JSON 化
リーリーブラウザ出力:
[ 1, "heiyeluren", "\u7537" ]
结论:纯数字索引数组的json字符串是按照javascript能够识别的数组来存储的,而不是按照javascript能够识别的对象来存储的。无法识别中文,所有的中文字符串没有被正确显示出来
分析:上述案例很简单的将一个数组json化了,需要指出的是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode
9.案例七:关联数组的json化
<?php $arr2 = array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'); echo json_encode($arr2)."<br /> "; ?>
浏览器输出结果:
{ "id":1, "name":"heiyeluren", "gender":"\u7537" }
结论:关联索引数组的json字符串是按照javascript对象的形式来构造的。无法识别中文,所有的中文字符串没有被正确显示出来
分析:上述案例很简单的将一个数组json化了,需要指出的是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode
提示:输出的数据本身就是json格式的js对象,因为没有带引号,所以在前台页面可以直接将其当做json对象使用
10.案例八:对多维索引数组的进行json化
<?php $arr3 = array(array(1, 'heiyeluren', '男'), array(1, 'heiyeluren', '男')); echo json_encode($arr3)."<br /> ";?>
浏览器输出结果:
[ [1,"heiyeluren","\u7537"], [1,"heiyeluren","\u7537"] ]
结论:多维数字索引数组的json字符串是按照javascript能够识别的数组来存储的。无法识别中文,所有的中文字符串没有被正确显示出来
分析:上述案例很简单的将一个数组json化了,需要指出的是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode
提示:输出的数据可以直接将其当做javascript数组使用
11.案例九:对多维关联数组的进行json化
<?php $arr4 = array( array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'), array("id"=>1, "name"=>'heiyeluren', "gender"=>'男') ); echo json_encode($arr4)."<br /> "; ?>
浏览器输出结果:
[ {"id":1,"name":"heiyeluren","gender":"\u7537"}, {"id":1,"name":"heiyeluren","gender":"\u7537"} ]
结论:多维关联索引数组是按照外围是JavaScript数组,中间的索引数组是对象。无法识别中文,所有的中文字符串没有被正确显示出来
分析:上述案例很简单的将一个数组json化了,需要指出的是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode
提示:输出的数据可以直接将其当做javascript数组使用
12.案例十:json格式的javascript对象的创建
json的格式与语法:
var jsonobject= { //对象内的属性语法(属性名与属性值是成对出现的) propertyname:value, //对象内的函数语法(函数名与函数内容是成对出现的) functionname:function(){...;} };
注意:
①jsonobject -- JSON对象名称
②propertyname -- 属性名称
③functionname -- 函数名称
④一对大括号,括起多个"名称/值"的集合
⑤属性名或函数名可以是任意字符串,甚至是空字符串
⑥逗号用于隔开每对"名称/值"对
提示:
①在javascript中,数组的访问是通过索引来访问的; 对象属性的访问是通过 对象名.属性名 来访问的
②经过json_encode()化而的数据都是js能够识别的格式,而经过json_decode()化的数据都是php能够识别的格式,这一点大家心里要清楚
③经过json_encode()化而输出的数据都是json格式的javascript对象,在前台可直接将其当做js对象使用
另外,本站还提供了如下格式化与转换工具方便大家使用:
php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
JavaScript代码美化/压缩/格式化/加密工具:
http://tools.jb51.net/code/jscompress
在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「PHP における json 形式のデータ操作スキルのまとめ」、「php ファイル操作のまとめ」、「PHP の操作とオペレーターの使用方法のまとめ」をチェックしてください。 、「PHP ネットワーク プログラミング スキルの概要」、「PHP 基本構文の入門チュートリアル」、「PHP Office ドキュメント スキルの概要 (Word、Excel、Access、PPT を含む)」、「PHP の日付と時刻の使用方法の概要」、「はじめに」 PHPオブジェクト指向プログラミングチュートリアル』『PHP文字列(ストリング)使い方まとめ』『php+mysqlデータベース操作入門チュートリアル』『php共通データベース操作スキルまとめ』
この記事が PHP プログラミングのすべての人に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
