mirror of
https://gitee.com/johng/gf
synced 2026-06-07 02:12:11 +08:00
improve MapDeep function for package gconv; improve gjson.New function for loading struct parameter
This commit is contained in:
@ -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())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user