登录
首页 >  Golang >  Go问答

如何编组忽略结构选项?

来源:stackoverflow

时间:2024-04-04 10:00:34 266浏览 收藏

今天golang学习网给大家带来了《如何编组忽略结构选项?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我有一个与此类似的结构:

type MyStruct struct {
    Type                   int     `json:"operatortypeid,string"`
    Cost                   float32 `json:"cost,string"`
    CostPerTransaction     float32 `json:"cost_per_transaction,string"`
}

我使用 string 选项,因为我在 json 请求中收到的数据始终被引用,但我想添加一些类型安全性以便处理并将其发送到数据库。

在解组时,数据类型是正确的,但是当我将其编组回 json 时,它会应用结构选项字符串,这使其全部被引用。

有什么方法可以编组结构并让它忽略结构选项吗?


解决方案


不完全是这样,但是因为结构标签只是元数据,所以它们不会影响转换;所以你可以做类似的事情:

type MyStructIn struct {
    Type                   int     `json:"operatortypeid,string"`
    Cost                   float32 `json:"cost,string"`
    CostPerTransaction     float32 `json:"cost_per_transaction,string"`
}

type MyStructOut struct {
    Type                   int     
    Cost                   float32 
    CostPerTransaction     float32 
}

in := MyStructIn{}
json.Unmarshal(input, &in)
out := MyStructOut(in)
output,_ := json.Marshal(&out)

今天关于《如何编组忽略结构选项?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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