是否有任何Go库可以在将Json输出发送给用户之前对其进行整理?
我们可以解组成一个结构并手动执行,但是我们想知道是否有任何库可以更容易地将键提取到结构中,我们可以将其发送给用户?
答案 0 :(得分:1)
简短的回答并不是真的,因为Go处理JSON编组和取消编组的方式。处理用例的常见模式只是定义Response结构。
一个典型的例子如下:
type User struct {
// fields
}
// Response type used when the user is asking about their own fields
type PrivateUserResponse struct {
// fields with struct tags
}
func (u *User) ToPrivateUserResponse() *PrivateUserResponse { ... }
// Response type used when the user is being listed in a public directory
type PublicUserResponse struct {
// fields with struct tags
}
func (u *User) ToPublicUserResponse() *PublicUserResponse { ... }
由于JSON键配置由struct标签处理,因此库不适合处理在处理此问题时出现的唯一业务逻辑案例。您可能能够找到以更通用的方式解决此问题的代码生成器,但我建议您自己编写结构 - Go有利于明确和清晰的行为。