php中文网

Golang 切片转 JSON 为空,如何解决?

php中文网

golang 切片转 json 为空,如何解决?

当将一个空切片 [] 转换为 json 时,结果可能会是空的对象数组,而不是预期的空数组。这可能是由于以下原因造成的:

成员名称错误

结构体的成员名称必须大写导出(以大写字母开头)才能在 json 中被序列和反序列化。将成员名称小写导出会产生空 json 对象。

立即学习“go语言免费学习笔记(深入)”;

使用 json tag

如果希望成员在 json 中使用与成员名称不同的名称,可以使用 json tag。例如,可以使用以下特性将 sfz 字段映射到 json 中的 "sfz" 字段:

type user struct {
    name string    // 大写导出成员
    sfz  string `json:"sfz"` // 使用 json tag
}

修改代码示例

根据上述原因,可以对代码示例进行修改,如下所示:

type User struct {
    Name string
    Sfz  string `json:"sfz"`
}

这样,代码将能够正确地将切片转换为非空的 json 数组。

以上就是Golang 切片转 JSON 为空,如何解决?的详细内容,更多请关注php中文网其它相关文章!