0Pricing
PHP Academy · Leçon

Encoder et décoder du JSON

Convertir des tableaux PHP en JSON et analyser des réponses JSON avec json_encode/json_decode.

Encoder et décoder du JSON est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que JSON ?

JSON (notation d'objet JavaScript) est un format de données léger utilisé pour la communication avec les API et les fichiers de configuration. PHP possède des fonctions intégrées pour l'encoder et le décoder.

json_encode()

Convertit une valeur PHP (tableau, objet ou scalaire) en chaîne JSON.

<?php
$data   = ["name" => "Alice", "age" => 30, "active" => true];
$json   = json_encode($data);
echo $json; // {"name":"Alice","age":30,"active":true}

json_decode()

Analyse une chaîne JSON et renvoie une valeur PHP. Par défaut, renvoie des objets stdClass ; transmettez true comme deuxième argument pour obtenir des tableaux associatifs.

<?php
$json = '{"name":"Alice","age":30}';
$obj  = json_decode($json);          // stdClass
$arr  = json_decode($json, true);    // associative array
echo $arr["name"]; // "Alice"

Mise en forme de JSON

Utilisez l’indicateur JSON_PRETTY_PRINT pour formater la sortie afin de la rendre lisible par une personne.

<?php
$json = json_encode(["a" => 1, "b" => 2], JSON_PRETTY_PRINT);
echo $json;
// {
//     "a": 1,
//     "b": 2
// }

Indicateurs utiles de json_encode

Indicateurs courants : JSON_UNESCAPED_UNICODE (conserver UTF-8 tel quel), JSON_UNESCAPED_SLASHES (aucune barre oblique inversée avant /), JSON_THROW_ON_ERROR (lève une exception en cas d’échec).

<?php
$json = json_encode(["url" => "https://example.com/path"],
    JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);

Gestion des erreurs

Vérifiez json_last_error() après l’encodage ou le décodage, ou utilisez JSON_THROW_ON_ERROR pour obtenir automatiquement une exception.

<?php
try {
    $data = json_decode($input, true, 512, JSON_THROW_ON_ERROR);
} catch (\JsonException $e) {
    echo "Invalid JSON: ".$e->getMessage();
}

Encodage des objets

Les objets sont encodés sous forme d’objets JSON. Par défaut, seules les propriétés publiques sont incluses. Implémentez JsonSerializable pour contrôler la sérialisation.

<?php
class Point implements \JsonSerializable {
    public function __construct(
        private float $x, private float $y
    ) {}
    public function jsonSerialize(): mixed {
        return ["x" => $this->x, "y" => $this->y];
    }
}
echo json_encode(new Point(1.0, 2.5)); // {"x":1,"y":2.5}

Structures imbriquées

JSON prend en charge l’imbrication. Les tableaux PHP profondément imbriqués sont encodés sans difficulté en objets ou tableaux JSON imbriqués.

<?php
$order = [
    "id"    => 1,
    "items" => [
        ["sku" => "A1", "qty" => 2],
        ["sku" => "B3", "qty" => 1],
    ],
];
echo json_encode($order, JSON_PRETTY_PRINT);

Profondeur du décodage

Le troisième paramètre de json_decode définit la profondeur maximale de récursion (512 par défaut). Un JSON très profondément imbriqué peut nécessiter une limite plus élevée.

JSON_NUMERIC_CHECK

L’indicateur JSON_NUMERIC_CHECK convertit les chaînes numériques en nombres lors de l’encodage. Utilisez-le avec prudence : il peut altérer les numéros de téléphone.

Traitement en flux des fichiers JSON volumineux

Pour les fichiers JSON très volumineux, utilisez une bibliothèque d’analyse en flux (par exemple halaxa/json-machine) au lieu de charger l’intégralité du fichier avec json_decode.

Résumé

json_encode convertit les valeurs PHP en chaînes JSON. json_decode analyse le JSON. Utilisez JSON_THROW_ON_ERROR pour gérer les erreurs en toute sécurité.

Vérification rapide

Comment obtenir un tableau associatif à partir de json_decode ?

Questions Fréquemment Posées

La leçon « Encoder et décoder du JSON » est-elle gratuite ?

Oui — le texte complet de « Encoder et décoder du JSON » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Encoder et décoder du JSON » ?

Convertir des tableaux PHP en JSON et analyser des réponses JSON avec json_encode/json_decode. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Encoder et décoder du JSON » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Encoder et décoder du JSON
  2. Effectuer des requêtes HTTP avec cURL
  3. Gérer les réponses et erreurs d’API
  4. Créer un client d’API simple
← Retour à PHP Academy