diff --git a/single_file_tests/json.go b/single_file_tests/json.go index e29ea45..f604c87 100644 --- a/single_file_tests/json.go +++ b/single_file_tests/json.go @@ -19,25 +19,24 @@ type Test struct { Bool bool `json:"bool"` BoolInStr bool `json:"bool_in_str,string"` Long int64 `json:"long"` - Long2 TheLong `json:"long2"` + Long2 *TheLong `json:"long2"` } // https://www.cnblogs.com/yorkyang/p/8990570.html func (l *TheLong) MarshalJSON() (data []byte, err error) { - fmt.Println("------")//?? if l != nil { - data = []byte(strconv.FormatInt(l.Value, 10)) + data = []byte("\""+strconv.FormatInt(l.Value, 10) + "\"") } return } -func (l *TheLong) UnmarshalJSON(data []byte) error { - v, err := strconv.ParseInt(string(data), 10, 64) - if err != nil { - return err - } - l.Value = v - return nil -} +// func (l *TheLong) UnmarshalJSON(data []byte) error { +// v, err := strconv.ParseInt(string(data), 10, 64) +// if err != nil { +// return err +// } +// l.Value = v +// return nil +// } func main() { @@ -50,7 +49,7 @@ func main() { Bool: true, BoolInStr: true, Long: 342438204823084023, - Long2: TheLong { Value: 1111111111111111111 }, + Long2: &TheLong { Value: 342438204823084023 }, } s, err := json.Marshal(t) if err != nil {