Chapitre 31 : JSON et XML
Apprenez à manipuler les formats de données JSON et XML avec PHP
1. Introduction
Les formats JSON (JavaScript Object Notation) et XML (eXtensible Markup Language) sont largement utilisés pour l'échange de données entre applications, notamment en API. PHP offre des fonctions intégrées pour les lire, les générer et les manipuler.
2. Manipulation de JSON
Encodage
$data = ["nom" => "Alice", "age" => 25];
$json = json_encode($data);
echo $json; // {"nom":"Alice","age":25}
$json = json_encode($data);
echo $json; // {"nom":"Alice","age":25}
Décodage
$json = '{"nom":"Alice","age":25}';
$data = json_decode($json, true);
echo $data['nom']; // Alice
$data = json_decode($json, true);
echo $data['nom']; // Alice
Options utiles
JSON_PRETTY_PRINT: pour un affichage lisibleJSON_UNESCAPED_UNICODE: pour conserver les caractères spéciaux
3. Manipulation de XML
Lire un fichier XML
$xml = simplexml_load_file("data.xml");
echo $xml->utilisateur->nom; // Affiche le nom
echo $xml->utilisateur->nom; // Affiche le nom
Créer un XML
$xml = new SimpleXMLElement("<utilisateur></utilisateur>");
$xml->addChild("nom", "Alice");
$xml->addChild("age", "25");
echo $xml->asXML();
$xml->addChild("nom", "Alice");
$xml->addChild("age", "25");
echo $xml->asXML();
4. Comparaison JSON vs XML
| Critère | JSON | XML |
|---|---|---|
| Lisibilité humaine | Très bonne | Moyenne |
| Poids | Léger | Plus lourd |
| Support des attributs | Non | Oui |
| Parsing avec PHP | Facile | Moyen |
5. Exercice pratique : Convertisseur JSON ↔ XML
🎯 Objectif : Créer deux scripts PHP :
- Le premier lit un fichier
data.jsonet crée un fichierdata.xmléquivalent - Le second lit un fichier
data.xmlet produitdata.json
Conseils :
- Utilisez
json_decode()etjson_encode() - Utilisez
SimpleXMLElementpour le XML - Pensez à la conversion récursive des tableaux <-> objets XML
Conseil : Cet exercice vous aidera à manipuler et transformer dynamiquement les formats de données.
6. Résumé
- ✅ JSON : format léger, facile à manipuler en PHP avec
json_encode()/json_decode() - ✅ XML : plus structuré, supporte des attributs, manipulable via
SimpleXMLElement - ✅ Savoir convertir et lire les deux formats est essentiel pour travailler avec des APIs
Grâce à ce chapitre, vous savez comment échanger des données au format JSON et XML en PHP.