我正在尝试用Go和Fiber框架创建新的API。我正在使用MongoDB。请参考我的以下结构
type Product struct {
Name string `json:"name"`
Code string `json:"code"`
Description string `json:"description"`
Brand string `json:"brand"`
Variants []map[string]string `json:"variants"`
Categories []int `json:"categories"`
}
Variants字段将有另一个对象数组,但是字段是动态的,所以我不能定义结构,现在我用[]map[string][string]解决了这个问题。
我的任务在这里我必须形成CSV文件与下面的格式。
[{
Name: "Rock",
Code: "RRR"
Description: "This is rock"
Brand: "R"
...variants
},
{
Name: "Rock",
Code: "RRR"
Description: "This is rock"
Brand: "R"
...variants
},
{
Name: "Rambo",
Code: "RAM"
Description: "This is Rambo"
Brand: "RA"
...variants
},
{
Name: "Rambo",
Code: "RAM"
Description: "This is Rambo"
Brand: "RA"
...variants
}]
每一行只有变量会改变。其他的将保持不变。我形成了其他字段,除了变量。我不能创建结构,因为数据将是动态的。
我有很多困惑
1.如何创建动态字段的结构
1.如何在根级别传播变体
我来自javascript。所以,我们使用了spread操作符。在这里我对如何在Golang中做到这一点感到困惑。
帮帮我伙计们
1条答案
按热度按时间bvn4nwqk1#
@mkopriva是对的
但是,如果愿意,可以使用反射动态构造新的结构
下面是一个示例:
{"a":"a","b":"b","brand":"","categories":{},"code":"","description":"","name":"aa"}