Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyesuaikan Pemformatan Cap Masa dalam Pengekodan JSON Go?

Bagaimana untuk Menyesuaikan Pemformatan Cap Masa dalam Pengekodan JSON Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 05:51:36227semak imbas

How to Customize Timestamp Formatting in Go's JSON Encoding?

Memformat Cap Masa untuk Pengekodan JSON

Apabila bekerja dengan Go, seseorang mungkin menghadapi keperluan untuk memformat cap masa yang dikeluarkan mengikut masa. Jenis masa. Secara lalai, JSON marshals masa sebagai RFC3339, menghasilkan format yang tidak diingini.

Menyesuaikan Pemformatan Cap Masa

Untuk menyesuaikan pemformatan cap waktu, laksanakan antara muka Marshaler untuk jenis masa tersuai anda :

import (
    "encoding/json"
    "fmt"
)

type JSONTime time.Time

func (t JSONTime) MarshalJSON() ([]byte, error) {
    stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2"))
    return []byte(stamp), nil
}

Gunakan jenis tersuai ini pada Dokumen anda struct:

type Document struct {
    Name        string
    Content     string
    Stamp       JSONTime
    Author      string
}

Apabila marshaling, anda kemudian boleh memulakan contoh Dokumen sebagai:

testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}

JSON yang terhasil kini akan mempunyai cap masa yang diformatkan dalam format yang anda inginkan, seperti "Mei 15, 2014".

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Pemformatan Cap Masa dalam Pengekodan JSON Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn