Programmer's Reference Guide

Introduction

Basic Usage

Usage of Zend_Json involves using the two public static methods available: Zend_Json::encode() and Zend_Json::decode().

  1. // Retrieve a value:
  2. $phpNative = Zend_Json::decode($encodedValue);
  3.  
  4. // Encode it to return to the client:
  5. $json = Zend_Json::encode($phpNative);

Pretty-printing JSON

Sometimes, it may be hard to explore JSON data generated by Zend_Json::encode(), since it has no spacing or indentation. In order to make it easier, Zend_Json allows you to pretty-print JSON data in the human-readable format with Zend_Json::prettyPrint().

  1. // Encode it to return to the client:
  2. $json = Zend_Json::encode($phpNative);
  3. if($debug) {
  4.     echo Zend_Json::prettyPrint($json, array("indent" => " "));
  5. }

Second optional argument of Zend_Json::prettyPrint() is an option array. Option indent allows to set indentation string - by default it's a single tab character.


Introduction

Comments

It's not documented here (or in the API docs) but if Zend_Json fails to decode your input it'll throw a Zend_Json_Exception. To find this information required wading through the source code.
> To find this information required wading through the source code.

That's the beauty of PHP. It is impossible to trace errors and in the end it really just wants to be like Java!
One way to get the encoded JSON data sent to your action:

$json = $this->getRequest()->getRawBody();
$data = Zend_Json::decode($json);

Now $data will be the JSON data in array format.

+ Add A Comment

Please do not report issues via comments; use the ZF Issue Tracker.

If you have a JIRA/Crowd account, we suggest you login first before commenting.

  • BBCode is allowed in the comment markup

  • Select a Version

    Languages Available

    Components

    Search the Manual