public function canEncodeAsJson($v)
{
if (is_null($v) || is_bool($v) || is_int($v) || is_float($v) || is_string($v)) {
return true;
}
if (is_array($v)) {
foreach ($v as $key => $val) {
if (!is_numeric($key) && !is_string($key)) {
return false;
}
if (!$this->canEncodeAsJson($val)) {
return false;
}
}
return true;
}
return false;
}