private function _end_string() { $popped = array_pop($this->_stack); if ($popped === self::STACK_KEY) { $this->_listener->key($this->_buffer); $this->_state = self::STATE_END_KEY; } elseif ($popped === self::STACK_STRING) { $this->_listener->value($this->_buffer); $this->_state = self::STATE_AFTER_VALUE; } else { throw new JsonStreamingParser_ParsingError($this->_line_number, $this->_char_number, "Unexpected end of string."); } $this->_buffer = ''; }