package parse

import (
	"encoding/json"
	"fmt"
	"testing"
)

func TestConvStringToInt(t *testing.T) {
	type Foo struct {
		Num string `json:"num"`
	}

	data, _ := json.Marshal(&Foo{Num: "1234"})
	fmt.Println(string(data))

	type Bar struct {
		Num int `json:"num,string"`
	}

	//为什么不进行转换的尝试，再出错了？
	bar := Bar{}
	err := json.Unmarshal(data, &bar)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(bar)
}

func TestConvStringToInt2(t *testing.T) {
	type Foo struct {
		Num int `json:"num"`
	}

	data, _ := json.Marshal(&Foo{Num: 1234})
	fmt.Println(string(data))

	type Bar struct {
		Num int `json:"num, string"`
	}

	//为什么不进行转换的尝试，再出错了？
	bar := Bar{}
	err := json.Unmarshal(data, &bar)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(bar)
}
