note 111551 added to function.json-decode

From: Date: Sun, 03 Mar 2013 16:47:40 +0000
Subject: note 111551 added to function.json-decode
Groups: php.notes 
Request: Send a blank email to php-notes+get-193784@lists.php.net to get a copy of this message
Sometime, i need to allow comments in json file. So i wrote a small func to clean comments in a json string before decoding it: <?php /** * Clean comments of json content and decode it with json_decode(). * Work like the original php json_decode() function with the same params * * @param string $json The json string being decoded * @param bool $assoc When TRUE, returned objects will be converted into associative arrays. * @param integer $depth User specified recursion depth. (>=5.3) * @param integer $options Bitmask of JSON decode options. (>=5.4) * @return string */ function json_clean_decode($json, $assoc = false, $depth = 512, $options = 0) { // search and remove comments like /* */ and // $json = preg_replace("#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|([\s\t](//).*)#", '', $json); if(version_compare(phpversion(), '5.4.0', '>=')) { $json = json_decode($json, $assoc, $depth, $options); } elseif(version_compare(phpversion(), '5.3.0', '>=')) { $json = json_decode($json, $assoc, $depth); } else { $json = json_decode($json, $assoc); } return $json; } ---- Server IP: 69.147.83.199 Probable Submitter: 96.43.229.237 ---- Manual Page -- http://php.net/manual/en/function.json-decode.php Edit -- https://master.php.net/note/edit/111551 Del: integrated -- https://master.php.net/note/delete/111551/integrated Del: useless -- https://master.php.net/note/delete/111551/useless Del: bad code -- https://master.php.net/note/delete/111551/bad+code Del: spam -- https://master.php.net/note/delete/111551/spam Del: non-english -- https://master.php.net/note/delete/111551/non-english Del: in docs -- https://master.php.net/note/delete/111551/in+docs Del: other reasons-- https://master.php.net/note/delete/111551 Reject -- https://master.php.net/note/reject/111551 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#193784) next »