# File json/objects.rb, line 169
    def from_json(lexer)
      lexer.unescape if (lexer.nextclean == '%')
      lexer.back
      raise "A JSON Object must begin with '{'" if (lexer.nextclean != "{")
      loop {
        c = lexer.nextclean
        key = nil
        case c
        when '\0'
          raise "A JSON Object must end with '}'"
        when '}'
          return;
        else
          lexer.back
          key = lexer.nextvalue().to_s()
        end
        raise "Expected a ':' after a key" if (lexer.nextclean() != ':')
        self[key] = lexer.nextvalue()
        case lexer.nextclean()
        when ','
          return if (lexer.nextclean() == '}')
          lexer.back
        when '}'
          return(self)
        else
          raise "Expected a ',' or '}'"
        end
      }
      return(self)
    end