diff options
-rw-r--r-- | lib/json.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/json.php b/lib/json.php index dfc0a7b894e..4eab4fce9f6 100644 --- a/lib/json.php +++ b/lib/json.php @@ -82,6 +82,15 @@ class OC_JSON{ } /** + * Convert OC_L10N_String to string, for use in json encodings + */ + protected static function to_string(&$value){ + if ($value instanceof OC_L10N_String) { + $value = (string)$value; + } + } + + /** * Encode and print $data in json format */ public static function encodedPrint($data,$setContentType=true){ @@ -89,6 +98,7 @@ class OC_JSON{ if($setContentType){ self::setContentTypeHeader(); } + array_walk_recursive($data, array('OC_JSON', 'to_string')); echo json_encode($data); } } |