专栏首页北漂的我go 结构体转 json 时, 日期类型转换

go 结构体转 json 时, 日期类型转换

618销售冠军是如何炼成的?揭秘电商“盘活”上亿销售数据的奇招!>>>

自定义一个 日期类型 DateTime 然后实现 Marshaler 接口的 MarshalJSON() 方法

package main

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

type DateTime time.Time

func (d DateTime) MarshalJSON() ([]byte, error) {
	dateTime := fmt.Sprintf("%q", time.Time(d).Format("2006-01-02 15:04:05"))
	return []byte(dateTime), nil
}

type Tom struct {
	Name     string   `json:"name"`
	Age      int      `json:"age"`
	Birthday DateTime `json:"birthday"`
}

func main() {
	tom := Tom{
		Name:     "tom",
		Age:      25,
		Birthday: DateTime(time.Now()),
	}
	bytes, err := json.Marshal(tom)
	if err == nil {
		fmt.Println(string(bytes))
	}
}

结果为

{"name":"tom","age":25,"birthday":"2021-06-18 15:04:03"}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Gson转Json字符串时将日期类型转换成Long型的方法

    有些特定需求, 比如说搜索引擎, 很多人都要求时间必须是时间戳. 所以, 我们把时间转成最原始的Long型. Gson默认的是不支持的, 需要手动处理一下.

    飞奔去旅行
  • C# 常用日期类型转换帮助类

    本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html

    跟着阿笨一起玩NET
  • SpringMVC解决@ResponseBody返回Json的Date日期类型的转换问题

    在做这个项目时,我发现后台返回了json字符串形式的日期属性,前台无法获得转换后的日期格式。

    Erwin
  • springMVC 表单校验、日期类型的转换

    @Controller @RequestMapping("/appointments") public class AppointmentsController...

    yawn
  • Spring MVC__自定义日期类型转换器

       WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它...

    赵小忠
  • 整理总结 python 中时间日期类数据处理与类型转换(含 pandas)

    我自学 python 编程并付诸实战,迄今三个月。 pandas可能是我最高频使用的库,基于它的易学、实用,我也非常建议朋友们去尝试它。——尤其当你本身不是程序...

    刘娟娟PRESSone
  • 用于查询的日期类型转换帮助类

    本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html

    跟着阿笨一起玩NET
  • 字符串与日期类型转换的工具类

    执笔记忆的空白
  • PQ-数据转换9:特殊格式日期的类型转换问题

    小勤:我也不知道。那现在怎么办?总不能要在Excel里改成咱们的日常格式才能导进去吧?

    大海Power
  • 『Go 内置库第一季:json』

    在日常开发过程中,使用最频繁的当然是内置库,无数的开源项目,无不是在内置库的基础之上进行衍生、开发,所以其实是有很大的必要进行梳理学习。

    谢伟
  • js中将日期类型转换成字符串型格式

    源哥
  • 转--Go时间格式化和类型互换操作

    获取本地时间 // get current timestamp currentTime := time.Now().Local() //p...

    李海彬
  • Go 每日一库之 mapstructure

    mapstructure用于将通用的map[string]interface{}解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数...

    用户7731323
  • 程序员开发效率神器汇总!

    本文作者:neonliu,腾讯 CSIG 开发工程师 neon 是鹅厂的一位资深后台开发工程师,多年工作下来他总结了很多效率神器,今天分享给大家。 一. 开发...

    腾讯大讲堂
  • 程序员开发效率神器汇总!

    ? 本文作者:neonliu,腾讯 CSIG 开发工程师 neon 是鹅厂的一位资深后台开发工程师,多年工作下来他总结了很多效率神器,今天分享给大家。 一. ...

    腾讯技术工程官方号
  • 手把手教你用 reflect 包解析 Go 的结构体 - Step 1: 参数类型检查

    Go 原生的 encoding/json 的 Unmarshal 和 Marshal 函数的入参为 interface{},并且能够支持任意的 struct 或...

    amc
  • 使用 go-mysql-elasticsearch 把 MySQL 中的业务日志导入 Elasticsearch

    相当一部分应用的日志是保存在数据库之中的,这些陈旧又稳定的应用在支撑着业务的运行。它们产生的日志通常来说也是有其价值的,但是如果能够融入到目前较为通用的 Ela...

    崔秀龙
  • GO小知识之实例演示 json 如何转化为 map 和 struct

    今天简单谈一些 JSON 数据处理的小知识。近期工作中,因为要把数据库数据实时更新到 elasticsearch,在实践过程中遇到了一些 JSON 数据处理的问...

    波罗学
  • Go 语言原生的 json 包有什么问题?如何更好地处理 JSON 数据?

    Go 的 “玩家” 们看到这个题目可能会很疑惑——对于 JSON 而言,Go 原生库 encoding/json 已经是提供了足够舒适的 JSON 处理工具,广...

    amc

扫码关注云+社区

领取腾讯云代金券