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中文網其他相關文章!