Public Member Functions | |
Services_JSON ($use=0) | |
constructs a new JSON instance | |
utf162utf8 ($utf16) | |
convert a string from one UTF-16 char to one UTF-8 char | |
utf82utf16 ($utf8) | |
convert a string from one UTF-8 char to one UTF-16 char | |
encode ($var, $pretty=false) | |
encodes an arbitrary variable into JSON format | |
encode2 ($var) | |
encodes an arbitrary variable into JSON format | |
name_value ($name, $value) | |
array-walking function for use in generating JSON-formatted name-value pairs | |
reduce_string ($str) | |
reduce a string by removing leading and trailing comments and whitespace | |
decode ($str) | |
decodes a JSON string into appropriate variable | |
isError ($data, $code=null) | |
Static Private Member Functions | |
static | pearInstalled () |
Returns cached result of class_exists('pear'), to avoid calling AutoLoader numerous times in cases when PEAR is not present. | |
Static Private Attributes | |
static | $mHavePear = null |
Brief example of use:
// create a new instance of Services_JSON $json = new Services_JSON();
// convert a complexe value to JSON notation, and send it to the browser $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4))); $output = $json->encode($value);
print($output); // prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
// accept incoming POST data, assumed to be in JSON notation $input = file_get_contents('php://input', 1000000); $value = $json->decode($input);
Definition at line 116 of file Services_JSON.php.
Services_JSON::decode | ( | $ | str | ) |
decodes a JSON string into appropriate variable
string | $str JSON-formatted string |
Definition at line 538 of file Services_JSON.php.
References $i, reduce_string(), and utf162utf8().
Services_JSON::encode | ( | $ | var, | |
$ | pretty = false | |||
) |
encodes an arbitrary variable into JSON format
mixed | $var any number, boolean, string, array, or object to be encoded. see argument 1 to Services_JSON() above for array-parsing behavior. if var is a strng, note that encode() always expects it to be in ASCII or UTF-8 format! | |
bool | $pretty pretty-print output with indents and newlines |
Definition at line 277 of file Services_JSON.php.
Services_JSON::encode2 | ( | $ | var | ) |
encodes an arbitrary variable into JSON format
mixed | $var any number, boolean, string, array, or object to be encoded. see argument 1 to Services_JSON() above for array-parsing behavior. if var is a strng, note that encode() always expects it to be in ASCII or UTF-8 format! |
Definition at line 296 of file Services_JSON.php.
References indent, isError(), and utf82utf16().
Referenced by encode(), and name_value().
Services_JSON::isError | ( | $ | data, | |
$ | code = null | |||
) |
Definition at line 829 of file Services_JSON.php.
References $code.
Referenced by encode2(), and name_value().
Services_JSON::name_value | ( | $ | name, | |
$ | value | |||
) |
array-walking function for use in generating JSON-formatted name-value pairs
string | $name name of key to use | |
mixed | $value reference to an array element to be encoded |
Definition at line 488 of file Services_JSON.php.
static Services_JSON::pearInstalled | ( | ) | [static, private] |
Returns cached result of class_exists('pear'), to avoid calling AutoLoader numerous times in cases when PEAR is not present.
Definition at line 145 of file Services_JSON.php.
Services_JSON::reduce_string | ( | $ | str | ) |
reduce a string by removing leading and trailing comments and whitespace
$str | string string value to strip of comments and whitespace |
Definition at line 507 of file Services_JSON.php.
Referenced by decode().
Services_JSON::Services_JSON | ( | $ | use = 0 |
) |
constructs a new JSON instance
int | $use object behavior flags; combine with boolean-OR |
Definition at line 134 of file Services_JSON.php.
Services_JSON::utf162utf8 | ( | $ | utf16 | ) |
convert a string from one UTF-16 char to one UTF-8 char
Normally should be handled by mb_convert_encoding, but provides a slower PHP-only method for installations that lack the multibye string extension.
string | $utf16 UTF-16 character |
Definition at line 163 of file Services_JSON.php.
Referenced by decode().
Services_JSON::utf82utf16 | ( | $ | utf8 | ) |
convert a string from one UTF-8 char to one UTF-16 char
Normally should be handled by mb_convert_encoding, but provides a slower PHP-only method for installations that lack the multibye string extension.
string | $utf8 UTF-8 character |
Definition at line 218 of file Services_JSON.php.
Referenced by encode2().
Services_JSON::$mHavePear = null [static, private] |
Definition at line 139 of file Services_JSON.php.