You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Go反序列化时将扁平JSON映射到嵌套结构体字段?

问题解决方法

你需要将UpdatePasswordRequest结构体中SignInData字段的标签定义为json:",inline",Go标准库的json.Unmarshal会通过该标签将扁平JSON里的login和password字段直接映射到嵌套的SignInRequest结构体对应字段中。

修改后的完整结构体定义如下:

type SignInRequest struct {
    Login    string `json:"login"`
    Password string `json:"password"`
}

type UpdatePasswordRequest struct {
    NewPassword string        `json:"newPassword"`
    SignInData  SignInRequest `json:",inline"`
}

执行原反序列化代码后,result.SignInData.Login会被赋值为"Nickname",result.SignInData.Password会被赋值为"some_pass",result.NewPassword则为"new_pass",完全符合预期。

内容的提问来源于stack exchange,提问作者Andriy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 13:20:52