improve MapDeep function for package gconv; improve gjson.New function for loading struct parameter

This commit is contained in:
John
2020-04-09 13:37:27 +08:00
parent 7fd53673ce
commit 23c2f12672
6 changed files with 144 additions and 27 deletions

View File

@ -3,21 +3,29 @@ package main
import (
"encoding/json"
"fmt"
"gopkg.in/yaml.v3"
"github.com/gogf/gf/encoding/gjson"
)
func main() {
data := []byte(`
m:
k: v
`)
var result map[string]interface{}
if err := yaml.Unmarshal(data, &result); err != nil {
panic(err)
}
b, err := json.Marshal(result)
if err != nil {
panic(err)
}
fmt.Println(string(b))
type A struct {
D string
E string
}
type B struct {
A `json:"a"`
F string
}
func SystemJsonEncode(a interface{}) string {
js, err := json.Marshal(a)
if err != nil {
return "{}"
} else {
return fmt.Sprintf("%s", js)
}
}
func main() {
var b B
fmt.Println(SystemJsonEncode(b))
fmt.Println(gjson.New(b).MustToJsonString())
}