Zend Framework  1.12
Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Zend_Json_Decoder Class Reference

Static Public Member Functions

static decode ($source=null, $objectDecodeType=Zend_Json::TYPE_ARRAY)
 Decode a JSON source string.
 
static decodeUnicodeString ($chrs)
 Decode Unicode Characters from ASCII syntax.
 

Public Attributes

const EOF = 0
 Parse tokens used to decode the JSON object.
 
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)
 Constructor.
 
 _decodeValue ()
 Recursive driving rountine for supported toplevel tops.
 
 _decodeObject ()
 Decodes an object of the form: { "attribute: value, "attribute2" : value,...}.
 
 _decodeArray ()
 Decodes a JSON array format: [element, element2,...,elementN].
 
 _eatWhitespace ()
 Removes whitepsace characters from the source input.
 
 _getNextToken ()
 Retrieves the next token from the source stream.
 

Static Protected Member Functions

static _utf162utf8 ($utf16)
 Convert a string from one UTF-16 char to one UTF-8 char.
 

Protected Attributes

 $_source
 
 $_sourceLength
 
 $_offset
 
 $_token
 
 $_decodeType
 

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

Member Function Documentation

_decodeArray ( )
protected

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

Returns
array
_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
_decodeValue ( )
protected

Recursive driving rountine for supported toplevel tops.

Returns
mixed
_eatWhitespace ( )
protected

Removes whitepsace characters from the source input.

_getNextToken ( )
protected

Retrieves the next token from the source stream.

Returns
int Token constant value specified in class definition
static _utf162utf8 (   $utf16)
staticprotected

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

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

Member Data Documentation

$_decodeType
protected
$_offset
protected
$_source
protected
$_sourceLength
protected
$_token
protected
const COLON = 7
const COMMA = 6
const DATUM = 1
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.

const LBRACE = 2
const LBRACKET = 3
const RBRACE = 4
const RBRACKET = 5