code: func (j *JSONText) Scan(src interface{}) error {
  	var source []byte
  	switch t := src.(type) {
  	case string:
  		source = []byte(t)
  	case []byte:
  		if len(t) == 0 {
  			source = emptyJSON
  		} else {
  			source = t
  		}
  	case nil:
  		*j = emptyJSON
  	default:
  		return errors.New("Incompatible type for JSONText")
  	}
  	*j = JSONText(append((*j)[0:0], source...))
  	return nil
  }
docs: // Scan stores the src in *j.  No validation is done.