func ToJson(o interface{}) Json {
	var j Json
	j = &fakeJson{simplejson.New()}
	b, err := Encode(o)
	if err != nil {
		logger.Error(nil, "Failed to encode [%+v] to []byte, error: %+v", o, err)
		return j
	}
	j, err = NewJson(b)
	if err != nil {
		logger.Error(nil, "Failed to decode [%+v] to Json, error: %+v", o, err)
	}
	return j
}
FIXME: need improve performance
package jsonutil
import (
	"encoding/json"
	simplejson "github.com/bitly/go-simplejson"
	"kubesphere.io/alert/pkg/logger"
)
func Encode(o interface{}) ([]byte, error) {
	return json.Marshal(o)
}
func Decode(y []byte, o interface{}) error {
	return json.Unmarshal(y, o)
}
func ToString(o interface{}) string {
	b, err := Encode(o)
	if err != nil {
		logger.Error(nil, "Failed to encode [%+v], error: %+v", o, err)
		return ""
	}
	return string(b)
}