INNER CODE UNIT · Go

func

ozontech/file.d · cfg/config.go:41

func (e *Expression) UnmarshalJSON(raw []byte) error {
	decoder := json.NewDecoder(bytes.NewReader(raw))
	decoder.UseNumber()

	var value any
	err := decoder.Decode(&value)
	if err != nil {
		return err
	}

	switch value := value.(type) {
	case json.Number:
		*e = Expression(value.String())
	case string:
		*e = Expression(value)
	default:
		return fmt.Errorf("can't cast %T to the Expression", value)
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…