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

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

如何在golang中序列化字典

如何在golang中序列化字典

Go
拉風的咖菲貓 2022-11-15 13:38:16
我嘗試復制此正文以在請求中使用它:{"Responses":[{"type":"DROP_DOWN","value":"0"}]}所以我在做的是:type FruitBasket struct {        Name5 []string `json:"Responses"`            }form := payload{        Name5: []string{"type", "value"},    }    jsonData, err := json.Marshal(form)    fmt.Println(string(jsonData))但是我找不到方法來完成括號中的正文
查看完整描述

3 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

您需要使用“encoding/json”包中的 Unmarshal 函數并使用虛擬結構來提取切片字段


// You can edit this code!

// Click here and start typing.

package main


import (

    "encoding/json"

    "fmt"

)


func main() {


    str := `{"Responses":[{"type":"DROP_DOWN","value":"0"}]}`


    type Responses struct {

        Type  string `json:"type"`

        Value string `json:"value"`

    }


    // add dummy struct to hold responses

   type Dummy struct {

        Responses []Responses `json:"Responses"`

    }

    var res Dummy

    err := json.Unmarshal([]byte(str), &res)

    if err != nil {

        panic(err)

    }

    fmt.Println("%v", len(res.Responses))

    fmt.Println("%s", res.Responses[0].Type)

    fmt.Println("%s", res.Responses[0].Value)


}


查看完整回答
反對 回復 2022-11-15
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

JSON-to-go是一個很好的在線資源,可以為特定的 JSON 模式制作 Go 日期類型。


粘貼您的 JSON 正文并提取嵌套類型,您可以使用以下類型生成所需的 JSON 模式:


// types to produce JSON:

//

//    {"Responses":[{"type":"DROP_DOWN","value":"0"}]}


type FruitBasket struct {

    Response []Attr `json:"Responses"`

}


type Attr struct {

    Type  string `json:"type"`

    Value string `json:"value"`

}

使用:


form := FruitBasket{

    Response: []Attr{

        {

            Type:  "DROP_DOWN",

            Value: "0",

        },

    }

}


jsonData, err := json.Marshal(form)

工作示例:https ://go.dev/play/p/SSWqnyVtVhF


輸出:


{"Responses":[{"type":"DROP_DOWN","value":"0"}]}


查看完整回答
反對 回復 2022-11-15
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

您的結構不正確。你的標題想要字典,但你寫了一個數組或字符串片段。


從此更改您的 FruitBasket 結構:


type FruitBasket struct {

    Name5 []string `json:"Responses"`

}

對此


type FruitBasket struct {

    Name5 []map[string]interface{} `json:"Responses"`

}

map[string]interface{}是字典嗎


這是游樂場https://go.dev/play/p/xRSDGdZYfRN


查看完整回答
反對 回復 2022-11-15
  • 3 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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