Static Public Member Functions | Data Fields | Protected Member Functions | Static Protected Member Functions | Protected Attributes

Zend_Json_Decoder Class Reference

Static Public Member Functions

static decode ($source=null, $objectDecodeType=Zend_Json::TYPE_ARRAY)
static decodeUnicodeString ($chrs)

Data Fields

const EOF = 0
const DATUM = 1
const LBRACE = 2
const LBRACKET = 3
const RBRACE = 4
const RBRACKET = 5
const COMMA = 6
const COLON = 7

Protected Member Functions

 __construct ($source, $decodeType)
 _decodeValue ()
 _decodeObject ()
 _decodeArray ()
 _eatWhitespace ()
 _getNextToken ()

Static Protected Member Functions

static _utf162utf8 ($utf16)

Protected Attributes

 $_source
 $_sourceLength
 $_offset
 $_token
 $_decodeType

Detailed Description

Definition at line 35 of file Decoder.php.


Constructor & Destructor Documentation

__construct ( source,
decodeType 
) [protected]

Constructor

Parameters:
string$sourceString source to decode
int$decodeTypeHow objects should be decoded -- see Zend_Json::TYPE_ARRAY and Zend_Json::TYPE_OBJECT for valid values
Returns:
void

Definition at line 97 of file Decoder.php.


Member Function Documentation

_decodeArray (  ) [protected]

Decodes a JSON array format: [element, element2,...,elementN]

Returns:
array

Definition at line 258 of file Decoder.php.

_decodeObject (  ) [protected]

Decodes an object of the form: { "attribute: value, "attribute2" : value,...}

If Zend_Json_Encoder was used to encode the original object then a special attribute called __className which specifies a class name that should wrap the data contained within the encoded source.

Decodes to either an array or StdClass object, based on the value of $_decodeType. If invalid $_decodeType present, returns as an array.

Returns:
array|StdClass

Definition at line 199 of file Decoder.php.

_decodeValue (  ) [protected]

Recursive driving rountine for supported toplevel tops

Returns:
mixed

Definition at line 165 of file Decoder.php.

_eatWhitespace (  ) [protected]

Removes whitepsace characters from the source input

Definition at line 289 of file Decoder.php.

_getNextToken (  ) [protected]

Retrieves the next token from the source stream

Returns:
int Token constant value specified in class definition

Definition at line 309 of file Decoder.php.

static _utf162utf8 ( utf16 ) [static, protected]

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.

This method is from the Solar Framework by Paul M. Jones

string $utf16 UTF-16 character string UTF-8 character

Definition at line 545 of file Decoder.php.

static decode ( source = null,
objectDecodeType = Zend_Json::TYPE_ARRAY 
) [static]

Decode a JSON source string

Decodes a JSON encoded string. The value returned will be one of the following:

  • integer
  • float
  • boolean
  • null

StdClass

  • array
    • array of one or more of the above types

By default, decoded objects will be returned as associative arrays; to return a StdClass object instead, pass Zend_Json::TYPE_OBJECT to the $objectDecodeType parameter.

Throws a Zend_Json_Exception if the source string is null.

public

Parameters:
string$sourceString to be decoded
int$objectDecodeTypeHow objects should be decoded; should be either or Zend_Json::TYPE_ARRAY or Zend_Json::TYPE_OBJECT; defaults to TYPE_ARRAY
Returns:
mixed
Exceptions:
Zend_Json_Exception

Definition at line 144 of file Decoder.php.

static decodeUnicodeString ( chrs ) [static]

Decode Unicode Characters from ASCII syntax.

This algorithm was originally developed for the Solar Framework by Paul M. Jones

http://svn.solarphp.com/core/trunk/Solar/Json.php string $value string

Definition at line 474 of file Decoder.php.


Field Documentation

const EOF = 0

Parse tokens used to decode the JSON object. These are not for public consumption, they are just used internally to the class.

Definition at line 42 of file Decoder.php.


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