Exemple #1
0
 public function handle($object)
 {
     /* @var $object \handler\json\Json */
     $result = null;
     $object = $object->getObject();
     if (is_object($object)) {
         if ($object instanceof \IteratorAggregate) {
             /* @var $object \IteratorAggregate */
             $result = JsonUtils::encodeIterator($object->getIterator());
         } elseif ($object instanceof \Iterator) {
             $result = JsonUtils::encodeIterator($object);
         } else {
             $result = JsonUtils::encode($object);
         }
     } else {
         if (is_array($object)) {
             $result = JsonUtils::encode($object);
         } else {
             throw new \Exception('JSon encoding of a non-object is not supported');
         }
     }
     if ($result !== null) {
         $response = HttpContext::get()->getResponse();
         $response->setContentType(JsonUtils::CONTENT_TYPE);
         $response->write($result);
         $response->flush();
     }
     return $result;
 }
Exemple #2
0
 private function handleJson(Json $object)
 {
     // check if the json has an internal object, else serialize itself
     if ($object->getObject()) {
         $object = $object->getObject();
     }
     $result = null;
     if (is_object($object)) {
         if ($object instanceof \IteratorAggregate) {
             /* @var $object \IteratorAggregate */
             $result = JsonUtils::encodeIterator($object->getIterator());
         } elseif ($object instanceof \Iterator) {
             $result = JsonUtils::encodeIterator($object);
         } else {
             $result = JsonUtils::encode($object);
         }
     } else {
         if (is_array($object)) {
             $result = JsonUtils::encode($object);
         }
     }
     return $result;
 }