我是靠谱客的博主 欣慰美女,这篇文章主要介绍golang-自定义json序列化和反序列化,现在分享给大家,希望可以做个参考。

为某个类型实现MarshalJSON()([]byte, error)和UnmarshalJSON(b []byte) error方法,那么该类型在序列化和反序列化时就会使用相应方法。
未自定义前代码:

package main

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

type Student struct {
   
	Name       string    `json:"name"`
	Age        int       `json:"age"`
	Weight     float64   `json:"weight"`
	Height     float64   `json:"height"`
	RecordTime time.Time `json:"recordtime"`
}

func main() {
   

	s1 := Student{
   
		Name:       "jack",
		Age:        20,
		Weight:     61.5,
		Height:     172.5,
		RecordTime: time.Now(),
	}

	b, err := json.Marshal(s1)
	if err != nil {
   
		fmt.Printf("json.Marshal failed, err:%vn", err)
		return
	}
	fmt.Printf("s1: %sn", b)

	var s2 Student
	err = json.Unmarshal(b, &s2)
	

最后

以上就是欣慰美女最近收集整理的关于golang-自定义json序列化和反序列化的全部内容,更多相关golang-自定义json序列化和反序列化内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部