\Services_JSON

Converts to and from JSON format.

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);

Summary

Methods
Properties
Constants
Services_JSON()
utf162utf8()
utf82utf16()
encode()
name_value()
reduce_string()
decode()
isError()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

Services_JSON()

Services_JSON(integer  $use) 

constructs a new JSON instance

Parameters

integer $use

object behavior flags; combine with boolean-OR

                   possible values:
                   - SERVICES_JSON_LOOSE_TYPE:  loose typing.
                           "{...}" syntax creates associative arrays
                           instead of objects in decode().
                   - SERVICES_JSON_SUPPRESS_ERRORS:  error suppression.
                           Values which can't be encoded (e.g. resources)
                           appear as NULL instead of throwing errors.
                           By default, a deeply-nested resource will
                           bubble up with an error, so all return values
                           from encode() should be checked with isError()

utf162utf8()

utf162utf8(string  $utf16) : string

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.

Parameters

string $utf16

UTF-16 character

Returns

string —

UTF-8 character

utf82utf16()

utf82utf16(string  $utf8) : string

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.

Parameters

string $utf8

UTF-8 character

Returns

string —

UTF-16 character

encode()

encode(mixed  $var) : mixed

encodes an arbitrary variable into JSON format

Parameters

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!

Returns

mixed —

JSON string representation of input var or an error if a problem occurs

name_value()

name_value(string  $name, mixed  $value) : string

array-walking function for use in generating JSON-formatted name-value pairs

Parameters

string $name

name of key to use

mixed $value

reference to an array element to be encoded

Returns

string —

JSON-formatted name-value pair, like '"name":value'

reduce_string()

reduce_string(  $str) : string

reduce a string by removing leading and trailing comments and whitespace

Parameters

$str

string string value to strip of comments and whitespace

Returns

string —

string value stripped of comments and whitespace

decode()

decode(string  $str) : mixed

decodes a JSON string into appropriate variable

Parameters

string $str

JSON-formatted string

Returns

mixed —

number, boolean, string, array, or object corresponding to given JSON input string. See argument 1 to Services_JSON() above for object-output behavior. Note that decode() always returns strings in ASCII or UTF-8 format!

isError()

isError(  $data,   $code = null) 

Parameters

$data
$code