Example #1
0
 /**
  * Decodes the given $encodedValue string which is
  * encoded in the JSON format
  *
  * Uses ext/json's json_decode if available.
  *
  * @param string $encodedValue Encoded in JSON format
  * @param int $objectDecodeType Optional; flag indicating how to decode
  * objects. See {@link Sopha_Json_Decoder::decode()} for details.
  * @return mixed
  */
 public static function decode($encodedValue, $objectDecodeType = Sopha_Json::TYPE_ARRAY)
 {
     if (function_exists('json_decode') && self::$useBuiltinEncoderDecoder !== true) {
         return json_decode($encodedValue, $objectDecodeType);
     }
     require_once 'Sopha/Json/Decoder.php';
     return Sopha_Json_Decoder::decode($encodedValue, $objectDecodeType);
 }
Example #2
0
 public function testEncodeObject()
 {
     $actual = new Sopha_JsonTest_Object();
     $encoded = Sopha_Json_Encoder::encode($actual);
     $decoded = Sopha_Json_Decoder::decode($encoded, Sopha_Json::TYPE_OBJECT);
     $this->assertTrue(isset($decoded->__className));
     $this->assertEquals('Sopha_JsonTest_Object', $decoded->__className);
     $this->assertTrue(isset($decoded->foo));
     $this->assertEquals('bar', $decoded->foo);
     $this->assertTrue(isset($decoded->bar));
     $this->assertEquals('baz', $decoded->bar);
     $this->assertFalse(isset($decoded->_foo));
 }