public static function toJson($object) { if (is_array($object)) { $l = $object['map']; return PHPJAO::toJson($l); } else { if (is_object($object)) { if ($object instanceof JavaTreeMap) { return array('javaClass' => 'java.util.TreeMap', 'map' => PHPJAO::toJson($object->map)); } else { if ($object instanceof JavaMap) { return array('javaClass' => 'java.util.Map', 'map' => PHPJAO::toJson($object->map)); } else { $type = gettype($object); throw new PHPJAOMarshallingException("can't transform object {$type} to Map"); } } } else { if (is_null($object)) { return null; } else { throw new PHPJAOMarshallingException("can't transform object to TreeMap"); } } } }
<?php require_once 'PHPJAO.php'; $jsonArray = array('javaClass' => 'java.util.Date', time => 0); $o = PHPJAO::fromJson($jsonArray); if (get_class($o) == 'DateTime') { echo "OK\n"; } else { echo "Error: must be converted to datetime \n"; } if ($o->format('U') == '0') { echo 'OK'; } else { echo 'Error'; } echo "\n"; $narr = json_encode(PHPJAO::toJson($o)); # echo "narr=${narr}\n"; # echo "class(narr)="+get_class($narr)+"\n"; if ($narr['time'] != null) { echo "OK\n"; } else { echo 'Error'; } ?>