All Data Structures Namespaces Files Functions Variables Pages
Services_JSON Class Reference

## Public Member Functions

| Services_JSON ($use=0)
| utf162utf8 ($utf16)
| utf82utf16 ($utf8)
| encode ($var)
| name_value ($name, $value)
| reduce_string ($str)
| decode ($str)
| isError ($data, $code=null)

## Detailed Description

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

Definition at line 115 of file JSON.php.

## Member Function Documentation

decode | ( |  | $str | ) |

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! public

Definition at line 484 of file JSON.php.

encode | ( |  | $var | ) |

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 public

Definition at line 237 of file JSON.php.

isError | ( |  | $data,
|  |  | $code = `null`
| ) |  |

Todo:
  Ultimately, this should just call PEAR::isError()

Definition at line 766 of file JSON.php.

name_value | ( |  | $name,
|  |  | $value
| ) |  |

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' private

Definition at line 434 of file JSON.php.

reduce_string | ( |  | $str | ) |

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 private

Definition at line 453 of file JSON.php.

Services_JSON | ( |  | $use = `0` | ) |

constructs a new JSON instance

Parameters

  int

  $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()

Definition at line 133 of file JSON.php.

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.

Parameters

  string | $utf16 | UTF-16 character

Returns
  string UTF-8 character private

Definition at line 149 of file JSON.php.

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.

Parameters

  string | $utf8 | UTF-8 character

Returns
  string UTF-16 character private

Definition at line 193 of file JSON.php.

The documentation for this class was generated from the following file:

- include/JSON.php