我是靠谱客的博主 欣慰美女,最近开发中收集的这篇文章主要介绍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序列化和反序列化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部