func (parser *Parser) parseNumber(parent *value.JSONValue) error { firstToken, err := parser.tokenizer.NextToken() if err != nil { return err } if !firstToken.IsSameKindTo(token.NewTokenNumber()) { return fmt.Errorf("%#v is invalid number token", firstToken) } floatValue, err := strconv.ParseFloat(firstToken.Value, 64) if err != nil { return err } parent.NumberValue = floatValue return nil }