ホームページ > バックエンド開発 > PHPの問題 > PHP が JSON データをどのように解析するかを分析してみましょう

PHP が JSON データをどのように解析するかを分析してみましょう

WBOY
リリース: 2023-03-15 22:24:02
転載
2391 人が閲覧しました

この記事では、PHP に関する関連知識を提供します。主に、PHP で JSON データを解析する方法を紹介します。JSON は標準の軽量データ交換形式であり、解析と生成が迅速かつ簡単です。皆さんの参考になれば幸いです。

PHP が JSON データをどのように解析するかを分析してみましょう

推奨学習: 「PHP ビデオ チュートリアル

JSON とは何ですか?

JSON は、迅速かつ簡単に解析して生成できる標準の軽量データ交換形式です。

JSON は、XML と同様に、記述が簡単で理解しやすいテキストベースの形式ですが、XML とは異なり、JSON データ構造が占有する帯域幅は XML バージョンよりも少なくなります。 JSON は 2 つの基本構造に基づいています:

オブジェクト: キーと値のペア (つまり、キー:値) のコレクションとして定義されます。各オブジェクトは左中括弧 "{" で始まり、右中括弧で終わります。 "}" 最後に、複数のキーと値のペアをカンマ "," で区切ります。

配列: 値の順序付きリストとして定義されます。配列は左括弧 "[" で始まり、右括弧 "]" で終わります。値はカンマ "," で区切られます。

JSON では、キーは常に文字列であり、値は文字列、数値、true または false、null、あるいはオブジェクトや配列の場合もあります。文字列は二重引用符で囲む必要があり、\n、\t、\ などのエスケープ文字を含めることができます。 JSON オブジェクトは次のようになります:

{
    "book": {
        "name": "PHP 从入门到精通",
        "author": "明日科技",
        "year": 2017,
        "type": "php编程",
        "bestseller": true
     }
}
ログイン後にコピー

JSON 配列の例は次のようになります:

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
ログイン後にコピー

PHP での JSON データのエンコード

PHP では、 json_encode() 関数を使用して値を JSON 形式にエンコードします。エンコードされた値には、データベースやファイル ハンドルなどのリソースを除く任意の PHP データ型を使用できます。次の例は、PHP 連想配列を JSON オブジェクトにエンコードする方法を示しています。

  // 关联数组
  $marks = array("Peter"=>65, "Harry"=>80, "John"=>78, "Clark"=>90);
  echo json_encode($marks);
ログイン後にコピー

同様に、たとえば、PHP インデックス配列を JSON 配列にエンコードできます。次の例に示すように、json_encode() 関数は PHP インデックス配列を JSON オブジェクトとして返します。

  // 索引数组
  $colors = array("红", "绿", "蓝", "橙", "黄");
  echo json_encode($colors);
ログイン後にコピー

PHP を使用した JSON データのデコード

JSON データをエンコードするのと同じようにデコードする シンプル。 PHP json_decode() 関数を使用して、JSON エンコードされた文字列を適切な PHP データ型に変換できます。

次に、JSON データをデコードし、PHP で JSON オブジェクトまたは配列の個々の要素にアクセスする方法を示す例を見てみましょう。

  // 索引数组
  $colors = array("红", "绿", "蓝", "橙");
  echo json_encode($colors, JSON_FORCE_OBJECT);
ログイン後にコピー

以下に示すように、foreach() を使用してデコードされたデータをループすることもできます。

<?php  

// 将JSON编码的字符串分配给PHP变量
$json = &#39;{"Peter":65,"Harry":80,"John":78,"Clark":90}&#39;;  

// 将JSON数据解码为PHP关联数组
$arr = json_decode($json, true);
// Access values from the associative array
echo $arr["Peter"];  // Output: 65
echo $arr["Harry"];  // Output: 80
echo $arr["John"];   // Output: 78
echo $arr["Clark"];  // Output: 90  

// 将JSON数据解码为PHP对象
$obj = json_decode($json);

// 返回对象的访问值
echo $obj->Peter;   // Output: 65
echo $obj->Harry;   // Output: 80
echo $obj->John;    // Output: 78
echo $obj->Clark;   // Output: 90

?>
ログイン後にコピー

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHP が JSON データをどのように解析するかを分析してみましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート