golang 统一json处理

package main

import (
	"encoding/json"
	"fmt"
)

type Res struct {
	Code    int             `json:"code"`
	Message string          `json:"message"`
	Data    json.RawMessage `json:"data"`
}

type Student struct {
	No   int    `json:"no"`
	Name string `json:"name"`
}

type IBean interface {
}

func (r *Res) ParseData(data []byte, bean IBean) {
	var res Res
	if err := json.Unmarshal(data, &res); err != nil {
		panic("解析数据异常")
	}
	// true
	// 1
	// "\"哈哈\""
	// ""
	// 这些都是一个json
	json.Unmarshal(res.Data, bean)
}

func main() {

	res := Res{}
	var i string
	stu2 := `{"code":200,"message":"success","data":"test"}`
	res.ParseData([]byte(stu2), &i)
	fmt.Println(i)
}

  

posted @ 2022-01-13 21:41  Sentiger  阅读(100)  评论(0编辑  收藏  举报