登录
首页 >  Golang >  Go问答

golang中字典的序列化原理及方法

来源:stackoverflow

时间:2024-03-29 12:51:24 185浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《golang中字典的序列化原理及方法》,聊聊,我们一起来看看吧!

问题内容

我尝试复制此正文形式以便在请求中使用它:

{"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))

但是我找不到一种方法来完成括号中的正文


正确答案


您需要使用“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)

}

今天关于《golang中字典的序列化原理及方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>