Snippet: jsonEncode();
Gestern hatte ich das Problem, dass json_encode alle Strings mit einem Umlaut einfach gelöscht hatte. utf8_encode brachte auch nichts. Deswegen schnell eine eigene jsonEncode();-Funktion geschrieben!
Diese Funktion ersetzt die json_encode-Funktion komplett. Selbst mehrdimensionale Arrays sind kein Problem, da die Funktion rekursiv programmiert ist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | function jsonEncode($array) { $zaehler = 1; $ret = '{'; foreach($array as $key => $val) { $ret .= '"' . $key . '":'; if(is_string($val)) { if(empty($val)) { $ret .= 'null'; } else { $val_e = str_replace('"', '\\"', $val); $val_e = str_replace('/', '\/', $val_e); $ret .= '"' . $val_e . '"'; } } elseif(is_bool($val)) { if($val == true) { $ret .= 'true'; } elseif($val == false) { $ret .= 'false'; } } elseif(is_array($val)) { $ret .= jsonEncode($val); } elseif(is_null($val)) { $ret .= 'null'; } if($zaehler < count($array)) { $ret .= ','; } $zaehler++; } $ret .= '}'; return $ret; } |