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

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

用嵌套數(shù)組編組 JSON?

用嵌套數(shù)組編組 JSON?

Go
汪汪一只貓 2022-10-17 19:23:00
我想像這樣創(chuàng)建 JSON:{  "name": "val1",  "version": "val2",  "type": "val3",  "settings": [    "setting1,    "setting2",    "setting3",    [      "option1",      "option2"    ]   ]}但我不知道如何在里面創(chuàng)建嵌套數(shù)組settings:package mainimport (        "encoding/json"        "fmt")type Config struct {        Name     string   `json:"name"`        Version  string   `json:"version"`        Type     string   `json:"type"`        Settings []string `json:"settings"`}func main() {        settings := []string{"setting1", "setting2", "setting3"}        options := []string{"option1", "option2"}        setopts := append(settings, options...)        c := &Config{"val1", "val2", "val3", setopts}        j, err := json.Marshal(c)        if err != nil {                panic(err)        }        fmt.Println(string(j))}輸出通過 jq 管道傳輸以提高可讀性:$ ./main | jq{  "name": "val1",  "version": "val2",  "type": "val3",  "settings": [    "setting1",    "setting2",    "setting3",    "option1",    "option2"  ]}結(jié)果是option1和option2是數(shù)組內(nèi)的值settings,但它們應(yīng)該在嵌套數(shù)組內(nèi)settings。此外,編組時(shí)選項(xiàng)可能并不總是存在,在這些情況下不應(yīng)創(chuàng)建嵌套數(shù)組。我怎樣才能做到這一點(diǎn)?
查看完整描述

1 回答

?
慕蓋茨4494581

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

您在此處顯示的輸出:


    "setting1",

    "setting2",

    "setting3",

    [

      "option1",

      "option2"

    ]

可以描述為 JSON 字符串或字符串?dāng)?shù)組。


您可以使用 來建模,并附[]interface{}加到字符串或切片:


type Config struct {

        Name     string        `json:"name"`

        Version  string        `json:"version"`

        Type     string        `json:"type"`

        Settings []interface{} `json:"settings"`

}


func main() {

        settings := []interface{}{

              "setting1", 

              "setting2", 

              "setting3",

              []string{"option1", "option2"},

        }


        c := &Config{"val1", "val2", "val3", settings}


        j, err := json.Marshal(c)

        if err != nil {

                panic(err)

        }


        fmt.Println(string(j))

}

游樂場:https ://go.dev/play/p/8LPAVBPmd8w


查看完整回答
反對(duì) 回復(fù) 2022-10-17
  • 1 回答
  • 0 關(guān)注
  • 96 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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