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

Zend_Json Class Reference

Static Public Member Functions

static decode ($encodedValue, $objectDecodeType=Zend_Json::TYPE_ARRAY)
static encode ($valueToEncode, $cycleCheck=false, $options=array())
static fromXml ($xmlStringContents, $ignoreXmlAttributes=true)

Data Fields

const TYPE_ARRAY = 1
const TYPE_OBJECT = 0

Static Public Attributes

static $maxRecursionDepthAllowed = 25
static $useBuiltinEncoderDecoder = false

Static Protected Member Functions

static _recursiveJsonExprFinder (&$value, array &$javascriptExpressions, $currentKey=null)
static _processXml ($simpleXmlElementObject, $ignoreXmlAttributes, $recursionDepth=0)

Detailed Description

Definition at line 39 of file Json.php.


Member Function Documentation

static _processXml ( simpleXmlElementObject,
ignoreXmlAttributes,
recursionDepth = 0 
) [static, protected]

_processXml - Contains the logic for xml2json

The logic in this function is a recursive one.

The main caller of this function (i.e. fromXml) needs to provide only the first two parameters i.e. the SimpleXMLElement object and the flag for ignoring or not ignoring XML attributes. The third parameter will be used internally within this function during the recursive calls.

This function converts the SimpleXMLElement object into a PHP array by calling a recursive (protected static) function in this class. Once all the XML elements are stored in the PHP array, it is returned to the caller.

Throws a Zend_Json_Exception if the XML tree is deeper than the allowed limit.

protected

Parameters:
SimpleXMLElement$simpleXmlElementObjectXML element to be converted
boolean$ignoreXmlAttributesInclude or exclude XML attributes in the xml2json conversion process.
int$recursionDepthCurrent recursion depth of this function
Returns:
mixed - On success, a PHP associative array of traversed XML elements
Exceptions:
Zend_Json_Exception

Definition at line 258 of file Json.php.

static _recursiveJsonExprFinder ( &$  value,
array &$  javascriptExpressions,
currentKey = null 
) [static, protected]

Check & Replace Zend_Json_Expr for tmp ids in the valueToEncode

Check if the value is a Zend_Json_Expr, and if replace its value with a magic key and save the javascript expression in an array.

NOTE this method is recursive.

NOTE: This method is used internally by the encode method.

See also:
encode
Parameters:
mixed$valueToChecka string - object property to be encoded
Returns:
void

Definition at line 161 of file Json.php.

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

Decodes the given $encodedValue string which is encoded in the JSON format

Uses ext/json's json_decode if available.

Parameters:
string$encodedValueEncoded in JSON format
int$objectDecodeTypeOptional; flag indicating how to decode objects. See Zend_Json_Decoder::decode() for details.
Returns:
mixed

Definition at line 72 of file Json.php.

static encode ( valueToEncode,
cycleCheck = false,
options = array() 
) [static]

Encode the mixed $valueToEncode into the JSON format

Encodes using ext/json's json_encode() if available.

NOTE: Object should not contain cycles; the JSON format does not allow object reference.

NOTE: Only public variables will be encoded

NOTE: Encoding native javascript expressions are possible using Zend_Json_Expr. You can enable this by setting $options['enableJsonExprFinder'] = true

See also:
Zend_Json_Expr
Parameters:
mixed$valueToEncode
boolean$cycleCheckOptional; whether or not to check for object recursion; off by default
array$optionsAdditional options used during encoding
Returns:
string JSON encoded object

See also:
Zend_Json_Encoder

Definition at line 102 of file Json.php.

static fromXml ( xmlStringContents,
ignoreXmlAttributes = true 
) [static]

fromXml - Converts XML to JSON

Converts a XML formatted string into a JSON formatted string. The value returned will be a string in JSON format.

The caller of this function needs to provide only the first parameter, which is an XML formatted String. The second parameter is optional, which lets the user to select if the XML attributes in the input XML string should be included or ignored in xml2json conversion.

This function converts the XML formatted string into a PHP array by calling a recursive (protected static) function in this class. Then, it converts that PHP array into JSON by calling the "encode" static funcion.

Throws a Zend_Json_Exception if the input not a XML formatted string. NOTE: Encoding native javascript expressions via Zend_Json_Expr is not possible.

public

Parameters:
string$xmlStringContentsXML String to be converted
boolean$ignoreXmlAttributesInclude or exclude XML attributes in the xml2json conversion process.
Returns:
mixed - JSON formatted string on success
Exceptions:
Zend_Json_Exception

Definition at line 212 of file Json.php.


Field Documentation

const TYPE_ARRAY = 1

How objects should be encoded -- arrays or as StdClass. TYPE_ARRAY is 1 so that it is a boolean true value, allowing it to be used with ext/json's functions.

Definition at line 46 of file Json.php.


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