json_test.go 836 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package parse
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "testing"
  6. )
  7. func TestConvStringToInt(t *testing.T) {
  8. type Foo struct {
  9. Num string `json:"num"`
  10. }
  11. data, _ := json.Marshal(&Foo{Num: "1234"})
  12. fmt.Println(string(data))
  13. type Bar struct {
  14. Num int `json:"num,string"`
  15. }
  16. //为什么不进行转换的尝试,再出错了?
  17. bar := Bar{}
  18. err := json.Unmarshal(data, &bar)
  19. if err != nil {
  20. fmt.Println(err)
  21. return
  22. }
  23. fmt.Println(bar)
  24. }
  25. func TestConvStringToInt2(t *testing.T) {
  26. type Foo struct {
  27. Num int `json:"num"`
  28. }
  29. data, _ := json.Marshal(&Foo{Num: 1234})
  30. fmt.Println(string(data))
  31. type Bar struct {
  32. Num int `json:"num, string"`
  33. }
  34. //为什么不进行转换的尝试,再出错了?
  35. bar := Bar{}
  36. err := json.Unmarshal(data, &bar)
  37. if err != nil {
  38. fmt.Println(err)
  39. return
  40. }
  41. fmt.Println(bar)
  42. }