json_encode în PHP

JSON PHP 5.2+

Transformă un tablou sau obiect PHP în text JSON.

Sintaxă
json_encode(mixed $valoare, int $optiuni = 0, int $adancime = 512): string|false

Ce face json_encode

JSON este formatul folosit de aproape toate API-urile și de JavaScript. json_encode transformă datele PHP în JSON, ca să le trimiți către browser sau către alt server.

Opțiuni utile: JSON_PRETTY_PRINT (aranjat pe linii), JSON_UNESCAPED_UNICODE (diacriticele rămân lizibile), JSON_UNESCAPED_SLASHES (nu pune \ înainte de /).

Parametri

Parametru Descriere
$valoare Datele de transformat.
$optiuni Opțional. Combinație de constante JSON_*, unite cu |.

Ce returnează

Textul JSON sau false la eroare.

Exemple

Exemplul 1: Tablou în JSON

<?php
$produs = ["nume" => "Husă telefon", "pret" => 39.9, "stoc" => true];

echo json_encode($produs);

Rezultat

{"nume":"Hus\u0103 telefon","pret":39.9,"stoc":true}

Exemplul 2: Diacritice și format lizibil

<?php
$oras = ["nume" => "Iași", "judet" => "Iași"];

echo json_encode($oras) . "\n";
echo json_encode($oras, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

Rezultat

{"nume":"Ia\u0219i","judet":"Ia\u0219i"}
{
    "nume": "Iași",
    "judet": "Iași"
}

Exemplul 3: Răspuns pentru un API

<?php
// Pe server, înainte de echo trimiți și: header("Content-Type: application/json");
echo json_encode(["succes" => true, "mesaj" => "Salvat"], JSON_UNESCAPED_UNICODE);

Rezultat

{"succes":true,"mesaj":"Salvat"}

Greșeli frecvente

  • Diacriticele apar ca \u0219. Nu este o eroare, dar adaugă JSON_UNESCAPED_UNICODE pentru un JSON lizibil.

Comenzi înrudite

  • json_decode: Transformă un text JSON în tablou sau obiect PHP.
  • print_r: Afișează conținutul unui tablou sau obiect într-o formă ușor de citit.