Edit
Lang
Version 2.4

Práce s formátem JSON – Nette\Utils\Json

Nette\Utils\Json je statická třída s užitečnými funkcemi pro práci s formátem JSON. Ošetřuje chyby v různých verzí PHP a při chybě vyhazuje výjimky.

Všechny příklady předpokládají vytvořený alias:

use Nette\Utils\Json;
use Nette\Utils\JsonException;

encode($value, $options = 0)

Vrací JSON reprezentaci předané hodnoty $value. Přijímá argument Json::PRETTY, který umí JSON naformátovat pro snažší čtení a přehlednost.

Json::encode($value); // Vrací JSON reprezentaci hodnoty $value
Json::encode($value, Json::PRETTY); // Vrací naformátovanou JSON reprezentaci hodnoty $value

Při chybě vyhazuje volání funkce encode() výjimku JsonException.

try {
    Json::encode($value);
} catch (JsonException $e) {
    // Ošetření výjimky
}

decode($json, $options = 0)

Převede daný JSON do objektu nebo pole. Přijímá argument Json::FORCE_ARRAY, který vynutí vrácení pole namísto objektu.

Json::decode('{"variable": true}'); // Vrací objekt typu stdClass s atributem $variable
Json::decode('{"variable": true}', Json::FORCE_ARRAY); // Vrací pole s klíčem "variable" a hodnotou true

Při chybě vyhazuje volání funkce decode() výjimku JsonException.

try {
    Json::decode($value);
} catch (JsonException $e) {
    // Ošetření výjimky
}