【发布时间】:2021-12-12 20:05:43
【问题描述】:
我有两个数据库表。我想通过 mysql 查询从这些表中获取值并将其传递给控制器。在那里我将它绑定一个结构并将 json 值显示为对控制器的响应。但问题是两个表之间有一些不常见的列,但我必须使用公共结构中的每个字段。当我得到一个表的响应时,其他表的字段在 json 对象中显示为空,反之亦然。如何只显示每个 json 对象中的相关字段?
代码:
型号:
type Student struct {
StudentId int
Name string
Address string
}
type Teacher struct {
TeacherId int
Name string
Address string
Department string
}
type TeacherStudent struct {
StudentId int
Name string
Address string
TeacherId int
Department string
}
控制器:
json.Unmarshal([]byte(datas), &ts)
c.Data["json"] = ts
c.ServeJSON()
Postman 中的响应:
[
{
"StudnetId": 501,
"Name": Mark,
"Address": Canbera,
"TeacherId": 0,
"Deparment": ""
},
{
"StudnetId": 0,
"Name": John,
"Address": Melbourne,
"TeacherId": 101,
"Deparment": "Science"
}]
对于Studnet Response,我不想显示TeacherId 和Department,对于Teacher Record,我不想在json 对象中显示StudentId。
【问题讨论】: