Example #1
0
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
}