| 12345678910111213141516171819202122232425262728 | // +build jsonpackage routerimport (	"encoding/json"	"github.com/v2ray/v2ray-core/common/log")func (this *Config) UnmarshalJSON(data []byte) error {	type JsonConfig struct {		Strategy string          `json:"strategy"`		Settings json.RawMessage `json:"settings"`	}	jsonConfig := new(JsonConfig)	if err := json.Unmarshal(data, jsonConfig); err != nil {		return err	}	settings, err := CreateRouterConfig(jsonConfig.Strategy, []byte(jsonConfig.Settings))	if err != nil {		log.Error("Router: Failed to load router settings: ", err)		return err	}	this.Strategy = jsonConfig.Strategy	this.Settings = settings	return nil}
 |