Merge pull request #87 from LionelMartin/3385af123f6b4dfc59aeaa69f180381307b64368
Added a json_encode implementation for PHP < 5.2 (free.fr)
This commit is contained in:
commit
eea58b3d5a
1 changed files with 36 additions and 1 deletions
37
index.php
37
index.php
|
@ -2151,7 +2151,42 @@ function isTZvalid($continent,$city)
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!function_exists('json_encode')) {
|
||||||
|
function json_encode($data) {
|
||||||
|
switch ($type = gettype($data)) {
|
||||||
|
case 'NULL':
|
||||||
|
return 'null';
|
||||||
|
case 'boolean':
|
||||||
|
return ($data ? 'true' : 'false');
|
||||||
|
case 'integer':
|
||||||
|
case 'double':
|
||||||
|
case 'float':
|
||||||
|
return $data;
|
||||||
|
case 'string':
|
||||||
|
return '"' . addslashes($data) . '"';
|
||||||
|
case 'object':
|
||||||
|
$data = get_object_vars($data);
|
||||||
|
case 'array':
|
||||||
|
$output_index_count = 0;
|
||||||
|
$output_indexed = array();
|
||||||
|
$output_associative = array();
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$output_indexed[] = json_encode($value);
|
||||||
|
$output_associative[] = json_encode($key) . ':' . json_encode($value);
|
||||||
|
if ($output_index_count !== NULL && $output_index_count++ !== $key) {
|
||||||
|
$output_index_count = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($output_index_count !== NULL) {
|
||||||
|
return '[' . implode(',', $output_indexed) . ']';
|
||||||
|
} else {
|
||||||
|
return '{' . implode(',', $output_associative) . '}';
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return ''; // Not supported
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Webservices (for use with jQuery/jQueryUI)
|
// Webservices (for use with jQuery/jQueryUI)
|
||||||
// eg. index.php?ws=tags&term=minecr
|
// eg. index.php?ws=tags&term=minecr
|
||||||
|
|
Loading…
Reference in a new issue