首頁  >  文章  >  後端開發  >  JSON解析中如何處理非標準時間格式?

JSON解析中如何處理非標準時間格式?

DDD
DDD原創
2024-11-09 05:03:02358瀏覽

How to Handle Non-Standard Time Formats in JSON Parsing?

解析JSON 中的非標準時間格式

在典型的JSON 解析場景中,時間值應遵循RFC 3339 格式(“2006-01-02T15”) :04:05Z07:00")。但是,在處理非標準時間格式時,預設的JSON 解碼器會遇到問題。

為了克服這一問題,可以為表示非標準時間格式的自定義資料型別實作自訂編組和解組方法。 ,JSON 解碼器現在可以成功解析非標準時間格式:

// Create a type alias for the non-standard time format
type JsonBirthDate time.Time

// Implement UnmarshalJSON to handle conversion from JSON string to time.Time
func (j *JsonBirthDate) UnmarshalJSON(b []byte) error {
    s := strings.Trim(string(b), "\"")
    t, err := time.Parse("2006-01-02", s)
    if err != nil {
        return err
    }
    *j = JsonBirthDate(t)
    return nil
}

// Implement MarshalJSON to handle conversion from time.Time to JSON string
func (j JsonBirthDate) MarshalJSON() ([]byte, error) {
    return json.Marshal(time.Time(j))
}

以上是JSON解析中如何處理非標準時間格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn