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

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

我正在嘗試解析這個 json 我不知道我在這里做錯了什么

我正在嘗試解析這個 json 我不知道我在這里做錯了什么

Go
呼喚遠方 2022-07-18 16:59:53
type RedisConfig struct {    Dev struct {        Host    string `json:"host"`        Port    int    `json:"port"`        PodHost string `json:"pod_host"`        PodPort int    `json:"pod_port"`    } `json:"dev"`    Stage struct {        Host    string `json:"host"`        Port    int    `json:"port"`        PodHost string `json:"pod_host"`        PodPort int    `json:"pod_port"`    } `json:"stage"`    Prod struct {        Host    string `json:"host"`        Port    int    `json:"port"`        PodHost string `json:"pod_host"`        PodPort int    `json:"pod_port"`    } `json:"prod"`} var  jsonFile  =  `{  "dev": {    "host": "127.0.0.1",    "port": 63713219,    "pod_host":"127.0.0.1",    "pod_port":131  },  "stage": {    "host": "123.1.1.",    "port": 6379,    "pod_host":"21321321",    "pod_port":6379  },  "prod": {    "host": "21321321321",    "port": 6379,    "pod_host":"f.com,    "pod_port":6379  }}`  data,err := json.Unmarshal(jsonFile,RedisConfig{})我正在嘗試解析這個 JSON 我不知道我在這里做錯了什么。請幫助我幾天前開始工作
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

你打錯電話json.Unmarshal了。請參閱JSON 文檔。


Unmarshal 的正確方法是這樣的:


var conf RedisConfig


err := json.Unmarshal([]byte(jsonFile), &conf)


if err != nil {

    log.Fatal("JSON parsing error:", err)

}


log.Println(conf)

一旦修復了中的錯字,JSON它就可以工作:


https://play.golang.org/p/m5LZuDaRbjW


要將配置轉換為地址映射,您可以使用以下模式:


type RedisMap map[string]RedisAddr


type RedisAddr struct {

    Host    string `json:"host"`

    Port    int    `json:"port"`

    PodHost string `json:"pod_host"`

    PodPort int    `json:"pod_port"`

}

工作示例: https: //play.golang.org/p/NTou6G_Q8Nc


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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