Maison > développement back-end > Problème PHP > Analysons comment PHP analyse les données JSON

Analysons comment PHP analyse les données JSON

WBOY
Libérer: 2023-03-15 22:24:02
avant
2369 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur PHP, qui présente principalement comment analyser les données JSON en PHP. JSON est un format d'échange de données léger standard, qui peut être analysé et généré rapidement et facilement, jetons-y un coup d'œil, je. j'espère que cela sera utile à tout le monde.

Analysons comment PHP analyse les données JSON

Apprentissage recommandé : "Tutoriel vidéo PHP"

Qu'est-ce que JSON ?

JSON est un format standard d'échange de données léger qui peut être analysé et généré rapidement et facilement.

Comme XML, JSON est un format texte facile à écrire et à comprendre, mais contrairement à XML, la structure de données JSON consomme moins de bande passante que la version XML. JSON est basé sur deux structures de base :

Object : Il est défini comme une collection de paires clé/valeur (c'est-à-dire clé:valeur). Chaque objet commence par une accolade gauche "{" et se termine par une accolade droite "}". Plusieurs paires clé/valeur sont séparées par des virgules ",".

Tableau : Il est défini comme une liste ordonnée de valeurs. Le tableau commence par un crochet gauche "[" et se termine par un crochet droit "]".

En JSON, les clés sont toujours des chaînes et les valeurs peuvent être une chaîne, un nombre, vrai ou faux, nul ou même un objet ou un tableau. Les chaînes doivent être placées entre guillemets doubles et peuvent contenir des caractères d'échappement tels que n, t et . Un objet JSON peut ressembler à ceci :

{
    "book": {
        "name": "PHP 从入门到精通",
        "author": "明日科技",
        "year": 2017,
        "type": "php编程",
        "bestseller": true
     }
}
Copier après la connexion

Et un exemple de tableau JSON ressemble à ceci :

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
Copier après la connexion

Encodage des données JSON en PHP

En PHP, la fonction json_encode() est utilisée pour encoder une valeur en JSON format. La valeur codée peut être n'importe quel type de données PHP, à l'exception des ressources, telles que les descripteurs de base de données ou de fichiers. L'exemple suivant montre comment encoder un tableau associatif PHP dans un objet JSON :

  // 关联数组
  $marks = array("Peter"=>65, "Harry"=>80, "John"=>78, "Clark"=>90);
  echo json_encode($marks);
Copier après la connexion

De même, vous pouvez encoder un tableau d'index PHP dans un tableau JSON, par exemple :

  // 索引数组
  $colors = array("红", "绿", "蓝", "橙", "黄");
  echo json_encode($colors);
Copier après la connexion

Vous pouvez également utiliser l'option JSON_FORCE_OBJECT pour forcer le json_encode( ) fonction pour encoder un tableau d'index PHP Renvoyé sous forme d'objet JSON, comme le montre l'exemple suivant :

  // 索引数组
  $colors = array("红", "绿", "蓝", "橙");
  echo json_encode($colors, JSON_FORCE_OBJECT);
Copier après la connexion

Décoder des données JSON avec PHP

Décoder des données JSON est aussi simple que de les encoder. Vous pouvez utiliser la fonction PHP json_decode() pour convertir une chaîne codée JSON en type de données PHP approprié.

Voyons maintenant un exemple qui vous montrera comment décoder les données JSON et accéder aux éléments individuels d'un objet ou d'un tableau JSON en PHP.

<?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

?>
Copier après la connexion

Vous pouvez également utiliser foreach() pour parcourir les données décodées, comme indiqué ci-dessous :

<?php

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

// 将JSON数据解码为PHP关联数组
$arr = json_decode($json, true);  

// 通过关联数组循环
foreach($arr as $key=>$value){
    echo $key . "=>" . $value . "";
}
echo "";

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

// 通过对象循环
foreach($obj as $key=>$value){
    echo $key . "=>" . $value . "";
}

?>
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal