44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package codec_test
|
|
|
|
import (
|
|
"fmt"
|
|
"go_dreamfactory/lego/utils/codec/json"
|
|
"testing"
|
|
)
|
|
|
|
type TestData struct {
|
|
Name string
|
|
Value int
|
|
Array []interface{}
|
|
Data map[string]interface{}
|
|
}
|
|
type Test1Data struct {
|
|
Name string
|
|
Value int
|
|
}
|
|
|
|
func Test_sys_slice(t *testing.T) {
|
|
data := []*Test1Data{{"liwe", 1}, {"liwe2", 2}}
|
|
d, err := json.Marshal(data)
|
|
fmt.Printf("codec Marshal d:%s err:%v", d, err)
|
|
data = []*Test1Data{}
|
|
err = json.Unmarshal(d, &data)
|
|
fmt.Printf("codec UnmarshalJson data:%v err:%v", data, err)
|
|
}
|
|
func Test_sys_json(t *testing.T) {
|
|
d, err := json.Marshal(&TestData{Name: "http://liwei1dao.com?asd=1&dd=1", Value: 10, Array: []interface{}{1, "dajiahao", &Test1Data{Name: "liwe1dao", Value: 123}}, Data: map[string]interface{}{"hah": 1, "asd": 999}})
|
|
fmt.Printf("codec Marshal d:%s err:%v", d, err)
|
|
data := &TestData{}
|
|
err = json.Unmarshal(d, data)
|
|
fmt.Printf("codec UnmarshalJson data:%v err:%v", data, err)
|
|
}
|
|
|
|
func Test_sys_mapjson(t *testing.T) {
|
|
d, err := json.MarshalMap(&TestData{Name: "http://liwei1dao.com?asd=1&dd=1", Value: 10, Array: []interface{}{1, "dajiahao", &Test1Data{Name: "liwe1dao", Value: 123}}, Data: map[string]interface{}{"hah": 1, "asd": 999}})
|
|
fmt.Printf("codec Marshal d:%s err:%v", d, err)
|
|
data := &TestData{}
|
|
err = json.UnmarshalMap(d, data)
|
|
fmt.Printf("codec UnmarshalJson data:%v err:%v", data, err)
|
|
|
|
}
|