Ce face json_decode
json_decode citește JSON primit de la un API sau dintr-un fișier. Cu al doilea parametru true obții tablouri asociative, cel mai ușor de folosit.
Dacă JSON-ul este invalid, returnează null. Cu opțiunea JSON_THROW_ON_ERROR primești o excepție cu motivul exact.
Parametri
| Parametru | Descriere |
|---|---|
$json |
Textul JSON. |
$asociativ |
true pentru tablouri, false pentru obiecte. |
$optiuni |
Opțional. De exemplu JSON_THROW_ON_ERROR. |
Ce returnează
Datele decodate sau null la eroare.
Exemple
Exemplul 1: JSON în tablou
<?php
$json = '{"nume":"Ana","varsta":25,"limbaje":["PHP","SQL"]}';
$date = json_decode($json, true);
echo $date["nume"] . " știe " . implode(" și ", $date["limbaje"]);
Rezultat
Ana știe PHP și SQL
Exemplul 2: Tablou sau obiect
<?php
$json = '{"oras":"Cluj"}';
echo json_decode($json, true)["oras"] . "\n";
echo json_decode($json)->oras;
Rezultat
Cluj
Cluj
Exemplul 3: Tratarea unui JSON invalid
<?php
try {
json_decode("{nume: Ana}", true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $e) {
echo "JSON invalid: " . $e->getMessage();
}
Rezultat
JSON invalid: Syntax error
Greșeli frecvente
- Uiți al doilea parametru
trueși încerci$date["nume"]pe un obiect. Primești eroareaCannot use object of type stdClass as array.
Comenzi înrudite
json_encode: Transformă un tablou sau obiect PHP în text JSON.file_get_contents: Citește tot conținutul unui fișier (sau al unei adrese URL) într-un text.