咨询下下面的 `Data []*User` 问题,
目的:让这个Test结构全局调用全部表 不想一个结构对应的 `Data []*User`,那样结构太多了
如何修改 让这个Test结构的 `Data []*User` 可以对应多个结构 呢? 希望大牛帮帮忙。实在想不到了求助
~~~
type Test struct {
Code string
Message string
Data []*User
}
type User struct {
Name string
Age string
Sex string
}
//我还想让 Test的结构调用这个或则更多,但是不想一个个重复的写 多个 `type Test struct`
type List struct {
Pid string
Pname string
Porder string
}
test := new(Test)
test.Code = "100"
test.Message = "成功"
sss123 := "沈先生|金先生|陈先生"
sp := strings.Split(sss123, "|")
for i := 0; i < len(sp); i++ {
user := new(User)
user.Name = sp[i]
user.Age = fmt.Sprint(i)
user.Sex = "Boy"
test.Data = append(test.Data, user)
}
j, _ := json.Marshal(test)
fmt.Fprintln(w, string(j))
~~~
用rawmessage?
type Test struct {
Code string
Message string
Data json.RawMessage
}
确认结构后再解析Data ?
#1
更多评论
<a href="/user/hellsam" title="@hellsam">@hellsam</a> 先把你要的数据序列化为[]byte,再吧[]byte强制类型转换为rawmessage,再赋值给Data
https://golang.org/pkg/encoding/json/#RawMessage
#3