- Unmarshal2Map
This commit is contained in:
@@ -45,6 +45,46 @@ type TestModel2 struct {
|
||||
AddData string
|
||||
}
|
||||
|
||||
func TestUnmarshal2Map(t *testing.T) {
|
||||
jsonStr := `
|
||||
{
|
||||
"IntData" : 1,
|
||||
"Int64Data" : 2,
|
||||
"NotField" : "hello",
|
||||
"StrData" : "world"
|
||||
}
|
||||
`
|
||||
var kk TestModel
|
||||
result, err := Unmarshal2Map([]byte(jsonStr), &kk)
|
||||
if err != nil {
|
||||
t.Fatal("Unmarshal2Map error")
|
||||
}
|
||||
// t.Log(result)
|
||||
if _, ok := result["NotField"]; ok {
|
||||
t.Fatal("NotField should not exist")
|
||||
}
|
||||
if result["IntData"] != 1 {
|
||||
t.Fatal("IntData should equal to 1")
|
||||
}
|
||||
if result["Int64Data"] != int64(2) {
|
||||
t.Fatal("Int64Data should equal to int64 2")
|
||||
}
|
||||
if result["StrData"] != "world" {
|
||||
t.Fatal("StrData should equal to world")
|
||||
}
|
||||
|
||||
jsonStr = ""
|
||||
result, err = Unmarshal2Map([]byte(jsonStr), &kk)
|
||||
if err == nil {
|
||||
t.Fatal("Unmarshal2Map should error")
|
||||
}
|
||||
jsonStr = "{}"
|
||||
result, err = Unmarshal2Map([]byte(jsonStr), &kk)
|
||||
if err != nil {
|
||||
t.Fatal("Unmarshal2Map error")
|
||||
}
|
||||
}
|
||||
|
||||
func unmarshStr(t *testing.T, jsonStr string, obj interface{}) {
|
||||
|
||||
err := UnmarshalUseNumber([]byte(jsonStr), obj)
|
||||
|
||||
Reference in New Issue
Block a user