icingaweb2-module-director/library/Director/Core/Json.php

31 lines
672 B
PHP
Raw Normal View History

<?php
namespace Icinga\Module\Director\Core;
use Icinga\Module\Director\Exception\JsonEncodeException;
class Json
{
2018-10-04 06:47:50 +02:00
public static function encode($mixed, $flags = null)
{
$result = \json_encode($mixed, $flags);
2018-10-04 06:47:50 +02:00
if ($result === false && json_last_error() !== JSON_ERROR_NONE) {
throw JsonEncodeException::forLastJsonError();
}
return $result;
}
public static function decode($string)
{
$result = \json_decode($string);
2018-10-04 06:47:50 +02:00
if ($result === null && json_last_error() !== JSON_ERROR_NONE) {
throw JsonEncodeException::forLastJsonError();
}
return $result;
}
}