protected static function eatKey($input)
{
$length = strlen($input);
$collected = '';
if (isset($input[0]) && $input[0] === '"') {
$result = self::eatString(substr($input, 1));
return [$result[0], substr($result[1], 1)];
}
for ($i = 0; $i < $length; $i++) {
$c = $input[$i];
if ($c === ':') {
break;
} else {
$collected .= $c;
}
}
return [$collected, substr($input, $i + 1)];
}