1
0
mirror of https://github.com/gusaul/grpcox.git synced 2025-05-06 07:25:36 +00:00
grpcox/core/post_script.go
2024-03-07 13:48:44 +07:00

33 lines
583 B
Go

package core
import (
"bytes"
"encoding/json"
"strings"
"github.com/tidwall/gjson"
"github.com/tidwall/sjson"
)
type PostScriptConfig struct {
Func string `json:"func"`
Src []string `json:"src"`
Dst []string `json:"dst"`
}
const (
FuncNameStringToJson string = "stringToJSON"
)
var FuncStringToJson = func(in string, src, dst []string) string {
vStr := gjson.Get(in, strings.Join(src, "."))
resStr, _ := sjson.SetRaw(in, strings.Join(dst, "."), vStr.String())
var resBuf bytes.Buffer
json.Indent(&resBuf, []byte(resStr), "", " ")
return resBuf.String()
}