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

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

go 字符串處理和 JSON

go 字符串處理和 JSON

Go
慕的地6264312 2021-11-08 16:56:09
新地鼠來了!我正在使用 go 中的 rest API,我現在正在解析我的第一個返回 JSON,似乎遇到了一些麻煩。首先,來自 API 調用的原始返回讓我知道:spew.Dump(body)(string) (len=205) "{\"return\": {\n    \"apiMajorVersion\": 3,\n    \"apiMinorVersion\": 0,\n    \"esmMajorVersion\": 9,\n    \"esmMinorVersion\": 5,\n    \"esmPatch\": \"MR7\",\n    \"esmRevision\": 0,\n    \"esmVersionString\": \"9.5.0 20150908\"\n}}"字符串中嵌入了所有反斜杠和換行符。如果我打印fmt.Println(body){"return": {    "apiMajorVersion": 3,    "apiMinorVersion": 0,    "esmMajorVersion": 9,    "esmMinorVersion": 5,    "esmPatch": "XX7",    "esmRevision": 0,    "esmVersionString": "9.5.0 20150908"}}然后我得到有效的json。如果我嘗試將它解組到結構中,我將無法正確獲取結構中的值。type ESMVersionStruct struct {    APIMajorVersion     int8 `json:"return>apiMajorVersion"`    APIMinorVersion     int8 `json:"apiMinorVersion"`    ESMMajorVersion     int8 `json:"esmMajorVersion"`    ESMMinorVersion     int8 `json:"esmMinorVersion"`    ESMPatch            string `json:"esmPatch"`    ESMRevision         int8 `json:"esmRevision"`    ESMVersionString    string `json:"esmVersionString"`}我已經嘗試過在返回中指定對象而不是。jsonData := []byte(body)var ESMVersion ESMVersionStructjson.Unmarshal(jsonData, &ESMVersion)fmt.Println(ESMVersion.APIMajorVersion)fmt.Print(ESMVersion.APIMinorVersion)最后兩個都返回空值。在此先感謝您對這方面的任何幫助!
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

你的類型應該是:


type ESMVersionStruct struct {

    Return struct {

        APIMajorVersion     int8 `json:"apiMajorVersion"`

        APIMinorVersion     int8 `json:"apiMinorVersion"`

        ESMMajorVersion     int8 `json:"esmMajorVersion"`

        ESMMinorVersion     int8 `json:"esmMinorVersion"`

        ESMPatch            string `json:"esmPatch"`

        ESMRevision         int8 `json:"esmRevision"`

        ESMVersionString    string `json:"esmVersionString"`

    } `json:"return"`

}

也就是說,您的結構嵌入在另一個Return結構中。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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