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

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

Barbara Streisand
發布: 2024-11-14 17:16:02
原創
532 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板