Files
go-easy-utils/jsonUtil/json_to_struct_map_test.go
jeffery bbe169cba0 fix:parse slices (#37)
1. Does not support parsing map type
2. Parse the slice type, if the data type is inconsistent, panic error

close #35
2023-05-11 17:41:34 +08:00

72 lines
1.0 KiB
Go

package jsonUtil
import (
"testing"
)
func TestJsonToStructMap1(t *testing.T) {
data := `
{
"uid": 43015653,
"foll": {
"43015653": true,
"43015666": false
},
"followed": {
"friendRed": {
"43015653": true,
"43015666": false
},
"friendWhite": {
"43015653": true,
"43015666": false
}
}
}
`
var target struct {
Uid int `json:"uid"`
Foll map[string]bool `json:"foll"`
Followed map[string]map[string]bool `json:"followed"`
}
err := JsonToStruct(data, &target)
if err != nil {
t.Errorf("err %s", err)
return
}
}
func TestJsonToStructMap2(t *testing.T) {
data := `
{
"uid": 43015653,
"foll": {
"boy": {
"t1": "v1",
"t2": "v2"
},
"girl": {
"t1": "v1",
"t2": "v2"
}
}
}
`
type Val struct {
T1 string `json:"t1"`
T2 string `json:"t2"`
}
var target struct {
Uid int `json:"uid"`
Foll map[string]Val `json:"foll"`
}
err := JsonToStruct(data, &target)
if err != nil {
t.Errorf("err %s", err)
return
}
}