/** * 2016-07-18 * добавил вызов @uses df_check_json(), * потому что иначе для JSON кодирование с последующим декодированием даст некорректный результат: * кодирование оставит JSON неизменным, а декодирование сделает из JSON массив, * и получается, что после двух обратных операций изменился тип значения с JSON на массив. * @param mixed $data * @return string */ function df_serialize_simple($data) { return df_check_json($data) ? $data : json_encode($data); }
/** * 2016-08-19 * @see json_decode() спокойно принимает не только строки, но и числа, а также true. * Наша функция возвращает true, если аргумент является именно строкой. * @param mixed $v * @return bool */ function df_check_json_complex($v) { return is_string($v) && df_starts_with($v, '{') && df_check_json($v); }