亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

json:無法將數字 5088060241 解組為 int 類型的結構

json:無法將數字 5088060241 解組為 int 類型的結構

Go
POPMUISE 2023-08-07 14:44:14
我正在使用 OVH 提供程序開發 Terraform 項目,創建記錄時,提供程序無法獲取記錄的 ID 并觸發此錯誤: cannot unmarshal number 5088060240 into Go struct field OvhDomainZoneRecord.id of type int我在 github 存儲庫上提出了一個問題,但仍在等待答案。我想自己糾正這個問題,但我不是 Go 開發人員,我找不到任何相關的錯誤。OvhDomainZoneRecord 的結構:type OvhDomainZoneRecord struct {    Id        int    `json:"id,omitempty"`    Zone      string `json:"zone,omitempty"`    Target    string `json:"target"`    Ttl       int    `json:"ttl,omitempty"`    FieldType string `json:"fieldType"`    SubDomain string `json:"subDomain,omitempty"`}相關文件: https://github.com/terraform-providers/terraform-provider-ovh/blob/master/ovh/resource_ovh_domain_zone_record.go
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

大小int為 32 位或 64 位,具體取決于您編譯和運行的目標體系結構。您的輸入5088060240大于 32 位整數的最大值(即2147483647),因此如果您int是 32 位,則會出現此錯誤。


最簡單的修復方法是使用int64. 看這個例子:


var i int32

fmt.Println(json.Unmarshal([]byte("5088060240"), &i))


var j int64

fmt.Println(json.Unmarshal([]byte("5088060240"), &j))

輸出(在Go Playground上嘗試):


json: cannot unmarshal number 5088060240 into Go value of type int32

<nil>


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號