如何在解码前准备响应?

问题描述 投票:-1回答:1

您好,我需要在编码之前准备好日期

type User struct {
    gorm.Model
    Name
    Car    [] Car
    etc.
}

type Car struct {
    gorm.Model
    Mark            string
    Models          string
    Year            string
    UserID          uint
}

这是我的结构。当我像拼车一样送车时,一切都很好。 [{}]

{
    "Name": "User",
    "Cars":[{
    "Mark":"Camry",
    "Models":"Corrola",
    "Year":"2013" }]

}

但是我第一次注册时需要发送一辆像对象{}的汽车。而且解码时出现错误json:无法将对象解组到[[models.Car

类型的Go结构字段User.Cars中
    "Name": "User",
    "Cars":{
    "Mark":"Camry",
    "Models":"Corrola",
    "Year":"2013" }

您能帮上忙吗?

    account := &User{}

    err := json.NewDecoder(r.Body).Decode(account) 
    fmt.Print(err)

我这样的代码

json go decode unmarshalling
1个回答
0
投票

问题似乎是必须“适合” json文本数据的结构声明为“保重”汽车列表。如果json只有1辆汽车而不是列表,则必须将其表示为只有一辆汽车的列表:这是因为单个对象和仅包含一个对象的列表具有完全不同的关系表示]]

因此,json必须像您第一次编写时那样编写,以适合该结构。

如果需要适应这种特殊情况,可以查看以下golang库(而不是使用内置库):https://github.com/tidwall/gjson

© www.soinside.com 2019 - 2024. All rights reserved.