第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

取消具有未知字段名稱(chēng)但已知結(jié)構(gòu)的 JSON

取消具有未知字段名稱(chēng)但已知結(jié)構(gòu)的 JSON

Go
哈士奇WWW 2022-09-05 17:36:38
我從traefik tls中檢索acme.json,其中traefik存儲(chǔ)ssl / tls證書(shū)信息。現(xiàn)在我想用golang將acme.json解組到我的go結(jié)構(gòu)“Traefik”中。但是我不知道如何處理動(dòng)態(tài)/未知的json字段名稱(chēng),因?yàn)楹褪俏以诰幾g時(shí)不知道的名稱(chēng)。這些名稱(chēng)應(yīng)在 go 中動(dòng)態(tài)配置。certificateresolver1certificateresolver2我知道json的結(jié)構(gòu)(它總是一樣的),但不知道證書(shū)解析器的字段名稱(chēng)。有誰(shuí)知道做到這一點(diǎn)的最佳方法嗎?Traefik acme.json{  "certificateresolver1": {    "Account": {      "Email": "email@example.com",      "Registration": {        "body": {          "status": "valid",          "contact": [            "mailto:email@example.com"          ]        },        "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/124448363"      },      "PrivateKey": "PRIVATEKEY",      "KeyType": "4096"    },    "Certificates": [      {        "domain": {          "main": "example.com",          "sans": [            "test.example.com"          ]        },        "certificate": "CERTIFICATE",        "key": "KEY",        "Store": "default"      },      {        "domain": {          "main": "example.org"        },        "certificate": "CERTIFICATE",        "key": "KEY",        "Store": "default"      }    ]  },  "certificateresolver2": {    "Account": {      "Email": "email@example.com",      "Registration": {        "body": {          "status": "valid",          "contact": [            "mailto:email@example.com"          ]        },        "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/126945414"      },      "PrivateKey": "PRIVATEKEY",      "KeyType": "4096"    },    "Certificates": [      {        "domain": {          "main": "example.net"        },        "certificate": "CERTIFICATE",        "key": "KEY",        "Store": "default"      }    ]  }}
查看完整描述

1 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

我認(rèn)為這樣的事情會(huì)對(duì)你有所幫助:


type ProviderMdl map[string]Provider


type Provider struct {

    Account struct {

        Email        string `json:"Email"`

        Registration struct {

            Body struct {

                Status  string   `json:"status"`

                Contact []string `json:"contact"`

            } `json:"body"`

            URI string `json:"uri"`

        } `json:"Registration"`

        PrivateKey string `json:"PrivateKey"`

        KeyType    string `json:"KeyType"`

    } `json:"Account"`

    Certificates []struct {

        Domain struct {

            Main string   `json:"main"`

            Sans []string `json:"sans"`

        } `json:"domain"`

        Certificate string `json:"certificate"`

        Key         string `json:"key"`

        Store       string `json:"Store"`

    } `json:"Certificates"`

}

因此,您可以通過(guò)以下方式處理此數(shù)據(jù):


    bres := new(ProviderMdl)

    if err := json.Unmarshal(data, bres); err != nil {

        panic(err)

    }

    

    // fmt.Printf("%+v - \n", bres)


    for key, value := range *bres {

        fmt.Printf("%v - %v\n", key, value)

    }


查看完整回答
反對(duì) 回復(fù) 2022-09-05
  • 1 回答
  • 0 關(guān)注
  • 88 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)