Funkcja PHP JSON_DECODE

Funkcja PHP JSON_DECODE
PHP ma dwie wbudowane funkcje do pracy z danymi JSON. To są json_encode () I JSON_DECODE () Funkcje. Funkcja JSON_ENCODE () służy do kodowania danych JSON, a funkcja JSON_DECODE () służy do dekodowania zakodowanych danych JSON. Ta funkcja tworzy obiekt PHP z obiektu JSON. Różne zastosowania funkcji JSON_DECODE () są pokazane w tym samouczku.

Składnia:
mieszany JSON_DECODe (String $ json, bool $ associative = null, int $ głębh = 512, int $ flags = 0)

Ta funkcja ma cztery argumenty. Pierwszy argument jest obowiązkowy, a inne argumenty są opcjonalne. Cele tych argumentów opisano w następujący sposób:

  • $ JSON: Zawiera dekodowane dane JSON i obsługuje tylko kodowany ciąg UTF-8.
  • $ Associstive: zawiera wartość logiczną. Jeśli wartość tego argumentu jest ustawiona na true, funkcja zwraca szereg asocjacyjny obiektu JSON. Jeśli wartość tego argumentu jest ustawiona na false, funkcja zwraca obiekt.
  • $ głębokość: służy do zdefiniowania zagnieżdżonej głębokości dekodowanej struktury. Wartość tego argumentu wynosi od 1 do 2147483647.
  • $ flag: zawiera maskę bitową JSON_BINT_AS_SSTRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBject_Array, JSON_THROW_ONR_ERRORROR.

Kodowana wartość JSON typu PHP jest zwracana przez tę funkcję, jeśli zakodowane dane znajdują się w zagnieżdżonej głębokości. W przeciwnym razie funkcja zwraca null.

Różne przykłady funkcji json_encode ()

Różne zastosowania funkcji json_encode () są pokazane w tej części samouczka za pomocą wielu przykładów.

Przykład 1: Konwertuj proste dane JSON na tablicę PHP

Utwórz plik PHP z następującym skryptem, który przekształca obiekt JSON w obiekt PHP i tablicę PHP za pomocą funkcji JSON_DECODE0. Gdy funkcja JSON_DECODE () jest używana z jednym argumentem, obiekt JSON jest przekonwertowany na obiekt PHP. Gdy funkcja JSON_DECODE () jest używana z pierwszymi dwoma argumentami, obiekt JSON jest konwertowany na tablicę PHP. W tym przykładzie używany jest obiekt JSON o prostych danych JSON o pięciu właściwościach.

// Deklaruj prosty ciąg JSON
$ jsondata = '„01”: „Book”, „02”: „Pen”, „03”: „Pencil”, „04”: „Rular”, „05”: „papier”';
// dekoduj dane JSON w obiekt PHP
Echo "Dekodowane dane JSON jako obiekt:
";
print_r (json_decode ($ jSondata));
// dekoduj dane JSON do tablicy php
Echo "
Dekodowane dane JSON jako tablica asocjacyjna:
";
print_r (json_decode ($ jSondata, true));
?>

Wyjście:

Następujące dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu:

Przykład 2: Wydrukuj nazwy i wartości właściwości JSON

Utwórz plik PHP z następującym skryptem, który przekształca obiekt JSON w tablicę PHP za pomocą funkcji JSON_DECODE0. W tym przykładzie używany jest obiekt JSON o prostych danych JSON o pięciu właściwościach. Następnie „dla każdego„Pętla służy do odczytu i drukowania klawiszy i wartości tablicy PHP.

// Deklaruj prosty ciąg JSON
$ ProductTypes = '„T01”: „HDD”, „T02”: „Monitor”, „T03”: „Mysz”, „T04”: „Printer”, „T05”: „Keyboard”';
// dekoduj dane JSON do tablicy php
$ phparray = json_decode ($ produktTypes, true);
Echo " Nazwa produktu id
";
// Wydrukuj elementy tablicy asocjacyjnej za pomocą pętli
foreach ($ phparray jako $ index => $ wartość)

Echo $ indeks.„”.$ wartość."
";

?>

Wyjście:

Następujące dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu:

Przykład 3: Wyszukaj konkretną właściwość JSON

Utwórz plik PHP z następującym skryptem, który przekształca obiekt JSON w tablicę PHP, a konkretna wartość identyfikatora zostanie przeszukana w tablicy. Jeśli wartość istnieje w tablicy, odpowiednie inne wartości są wydrukowane. Tutaj wartość identyfikatora wyszukiwania jest pobierana z parametru URL.

// deklaruj obiekt JSON o więcej niż jednej głębokości
$ CustomerData = '[
„ID”: „056345”, „Nazwa”: „mira hossain”, „e -mail”: „[email protected] ",„ contact_no ”:„+8801954532367 ”,
„ID”: „056335”, „Nazwa”: „Mohammed Abir”, „E -mail”: „[email protected] ",„ contact_no ”:„+8801858722209 ”,
„ID”: „056387”, „Nazwa”: „Alif Chowdhury”, „E -mail”: „[email protected] ",„ contact_no ”:„+8801700785321 ”,
„ID”: „056391”, „Nazwa”: „Nipa Roy”, „e -mail”: „[email protected] ",„ contact_no ”:„+880180006342 ”,
„ID”: „056395”, „Nazwa”: „Anam Ali”, „E -mail”: „[email protected] ",„ contact_no ”:„+880159126543 ”
] ';
// Utwórz tablicę PHP danych JSON
$ custarray = json_decode ($ customerdata, true);
// Sprawdź identyfikator wyszukiwania jest podany w adresie URL, czy nie
if (isset ($ _ get ['src'])))

// Przeczytaj identyfikator wyszukiwania z adresu URL
$ SearchId = $ _get ['src'];
$ znalezione = false;
// Wydrukuj informacje o kliencie konkretnego identyfikatora, jeśli istnieje w tablicy
dla ($ index = 0; $ indeks < count($custArray); $index++)
if ($ custarray [$ index] [„id”] == $ SearchId)
Echo " Szczegóły klienta:
";
Echo „Nazwa:”.$ custarray [$ index] [„nazwa”]."
";
echo "e -mail:".$ custarray [$ index] [„e -mail”]."
";
Echo „Nr kontaktu:”.$ custarray [$ index] [„contact_no”]."
";
$ znalezione = true;
przerwa;


if ($ fend == false)
Echo „Identyfikator klienta nie istnieje.";

w przeciwnym razie
Echo „Identyfikator wyszukiwania nie jest podany."
?>

Wyjście:

Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli w adresie URL nie znajduje się żadnej wartości identyfikatora:

Następujące dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli wartość identyfikacyjna, która jest podana w adresie URL, istnieje w tablicy PHP, która jest generowana z obiektu JSON:

Poniższe dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu, jeśli wartość identyfikatora podana w adresie URL nie istnieje w tablicy PHP, która jest generowana z obiektu JSON:

Przykład 4: Wygeneruj błąd dla niewłaściwego obiektu JSON

Utwórz plik PHP z następującym skryptem, który wyświetla błąd w momencie przekształcenia obiektu JSON na obiekt PHP, jeśli obiekt JSON zawiera jakikolwiek błąd. Obiekt JSON, który jest używany w tym przykładzie, zawiera błąd w wartości drugiej właściwości. Podwójny cytat („) brakuje wartości nieruchomości”, „Długopis".

// Deklaruj prosty ciąg JSON
$ jsondata = '„01”: „książka”, „02”: pen ”,„ 03 ”:„ ołów ”,„ 04 ”:„ rular ”,„ 05 ”:„ papier ”;
// dekoduj dane JSON w obiekt PHP
Echo "Dekodowane dane JSON jako obiekt:
";
print_r (json_decode ($ jSondata));
// Wydrukuj błąd NR i komunikat o błędzie, jeśli istnieje
Echo „Błąd nr: ".JSON_LAST_ERROR ()."
"."Komunikat o błędzie: ".JSON_LAST_ERROR_MSG ()."";
?>
?>

Wyjście:

Następujące dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu:

Wniosek

Różne sposoby analizowania danych JSON za pomocą funkcji JSON_DECODE () są wyjaśnione w tym samouczku za pomocą prostych przykładów. Mamy nadzieję, że cel korzystania z funkcji JSON_DECODE () jest wyczyszczony dla użytkowników PHP po przeczytaniu tego samouczka.