diff --git a/src/MD_STD.php b/src/MD_STD.php index 1f514f2..0e78530 100644 --- a/src/MD_STD.php +++ b/src/MD_STD.php @@ -215,6 +215,27 @@ final class MD_STD { } + /** + * Type-safe wrapper around json_encode for objects. + * + * @see https://www.php.net/manual/en/function.json-encode.php + * + * @param object $value The value being encoded. Can be any type except a resource. + * @param integer $options Bitmask consisting of JSON_FORCE_OBJECT, JSON_HEX_QUOT ... + * @param integer $depth Depth of coding. + * + * @return string + */ + public static function json_encode_object(object $value, int $options = 0, int $depth = 512):string { + + $output = \json_encode($value, $options, $depth); + if ($output === false) { + throw new Exception("JSON output could not be generated"); + } + return $output; + + } + /** * Type-safe wrapper around strtotime(). *