diff options
author | Urban Müller | 2014-10-01 18:46:14 +0200 |
---|---|---|
committer | Urban Müller | 2014-10-01 18:51:00 +0200 |
commit | 95bb09069f31e99f5598cbceb3197f17c70ae919 (patch) | |
tree | 9d31a0bba317eb194c6a6e0e6c1aa520687a0c9f /it.class | |
parent | 33e8695833b94fd1c83e37d7c7de9ced4edbb673 (diff) | |
download | itools-95bb09069f31e99f5598cbceb3197f17c70ae919.tar.gz itools-95bb09069f31e99f5598cbceb3197f17c70ae919.tar.bz2 itools-95bb09069f31e99f5598cbceb3197f17c70ae919.zip |
it::json_encode() and it::json_decode()
Diffstat (limited to 'it.class')
-rw-r--r-- | it.class | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -1006,5 +1006,21 @@ static function pipe($cmd, $args = array()) return new it_pipe(is_string($cmd) ? array('cmd' => $cmd, 'args' => $args) : array('data' => $cmd)); } +/** + * Encodes data to json with unescaped slahes, unescape unicode and on devel pretty printing + */ +static function json_encode($data) +{ + return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | (it::is_devel() ? JSON_PRETTY_PRINT : 0)); +} + +/** + * Decodes json data and provides warning if failed + */ +static function json_decode($json) +{ + return ($data = json_decode($json)) === null && $json != 'null' ? it::error(array('title' => "invalid json", 'body' => $json)) : $data; +} + } ?> |