From f5a7de3ca70001aeb20f4ffe0d82eac4f4fb1fae Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 16:53:43 +0800 Subject: [PATCH] 1 --- .../tiktok_shop/tiktok_api/store_test.go | 45 ++++++++++++------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/platformapi/tiktok_shop/tiktok_api/store_test.go b/platformapi/tiktok_shop/tiktok_api/store_test.go index 6aef8aad..9c0bd542 100644 --- a/platformapi/tiktok_shop/tiktok_api/store_test.go +++ b/platformapi/tiktok_shop/tiktok_api/store_test.go @@ -1,6 +1,8 @@ package tiktok_api import ( + "bytes" + "encoding/json" "fmt" freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request" freightTemplate_update_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request" @@ -446,20 +448,29 @@ func TestPrint(t *testing.T) { globals.SugarLogger.Debugf("%d", []int{1, 2, 3, 46, 65}) } -//func TestToMap(t *testing.T) { -// data:=" "57939570":[{"123":"987"},{"124":"988"},{"125":"989"},{"126":"990"},{"127":"991"}] " -// result, err := utils.Unmarshal2Map([]byte(data), &payload) -// -//} -// -//func toMap(actual interface{}) ([]string, error) { -// var res []string -// value := reflect.ValueOf(actual) -// if value.Kind() != reflect.Slice && value.Kind() != reflect.Array { -// return nil, errors.New("parse error") -// } -// for i := 0; i < value.Len(); i++ { -// res = append(res, value.Index(i).Interface().(string)) -// } -// return res, nil -//} +type RelInfo struct { + StoreID string `json:"storeID"` + VendorStoreID string `json:"vendorStoreID"` +} + +func TestToMap(t *testing.T) { + data := `{"57939570":[{"100329":"63517290"},{"102039":"63517652"}]}` + payload := make(map[string][]RelInfo) + err := UnmarshalUseNumber([]byte(data), &payload) + fmt.Println(payload) + fmt.Println(err) +} + +func UnmarshalUseNumber(data []byte, result interface{}) error { + err := TryUnmarshalUseNumber(data, result) + if err != nil { + globals.SugarLogger.Infof("decode data:%v, error:%v", string(data), err) + } + return err +} + +func TryUnmarshalUseNumber(data []byte, result interface{}) error { + d := json.NewDecoder(bytes.NewReader(data)) + d.UseNumber() + return d.Decode(result) +}