首頁 >後端開發 >Golang >如何將 JSON 字串解組為 Int64 Go 值?

如何將 JSON 字串解組為 Int64 Go 值?

Barbara Streisand
Barbara Streisand原創
2024-11-14 17:16:02595瀏覽

How to Unmarshal JSON Strings into Int64 Go Values?

將JSON 字串解組為Int64 Go 值

Go 程式設計師在嘗試解組JSON 時經常遇到錯誤訊息「json: 無法將字串解群組為int64 類型的Go 值」資料。當 int64 類型的 Go 結構體欄位對應的 JSON 欄位包含字串值時,會發生此錯誤。

問題概述

考慮以下Go 結構體:

type Survey struct {
    Id     int64  `json:"id,omitempty"`
    Name   string `json:"name,omitempty"`
}

如果您將此結構編組為JSON 並修改JavaScript 客戶端中的「id」字段,它可能會發送如下JSON 字串:

{"id": "1"}

其中「id」欄位現在是一個字串。

當您嘗試將此 JSON 字串解組到 Go 結構中時,您將遇到上述錯誤。

解決方案

要處理這種情況,您可以在中指定,string 選項您的JSON 標記,如下所示:

type Survey struct {
    Id   int64  `json:"id,string,omitempty"`
    Name   string `json:"name,omitempty"`
}

即使JSON 值是字串,這也允許將“id”字段解組為int64。

注意

需要注意的是,為字串標記欄位指定 omitEmpty 只會影響編組過程,而不影響解組過程。這意味著您無法將空字串解組到 int64 欄位中,即使它帶有 ,string,omitempty 標記。

以上是如何將 JSON 字串解組為 Int64 Go 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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