code: func (r *Lexer) JsonNumber() json.Number {
  	if r.token.kind == tokenUndef && r.Ok() {
  		r.FetchToken()
  	}
  	if !r.Ok() {
  		r.errInvalidToken("json.Number")
  		return json.Number("")
  	}
  
  	switch r.token.kind {
  	case tokenString:
  		return json.Number(r.String())
  	case tokenNumber:
  		return json.Number(r.Raw())
  	case tokenNull:
  		r.Null()
  		return json.Number("")
  	default:
  		r.errSyntax()
  		return json.Number("")
  	}
  }
docs: // JsonNumber fetches and json.Number from 'encoding/json' package.
  // Both int, float or string, contains them are valid values