Json 在redis中将结构存储为字符串

Json 在redis中将结构存储为字符串,json,string,struct,go,Json,String,Struct,Go,由于Redis只存储字符串,我想知道如何使用Go将结构转换为字符串,从而实现与Javascript的JSON.stringify等效的功能 我试过打字: string(the_struct) 但是这会导致一个错误。该包可以用来轻松地将结构转换为JSON字符串,反之亦然(将JSON字符串解析为结构) 简单示例(请在上尝试): 输出: {"Name":"Bob","Age":23} {Name:Bob Age:23} 笔记: 必须导出struct的字段(以大写字母开头),否则json包(使用反射

由于Redis只存储字符串,我想知道如何使用Go将结构转换为字符串,从而实现与Javascript的JSON.stringify等效的功能

我试过打字:

string(the_struct)
但是这会导致一个错误。

该包可以用来轻松地将
结构转换为JSON字符串,反之亦然(将JSON字符串解析为
结构)

简单示例(请在上尝试):

输出:

{"Name":"Bob","Age":23}
{Name:Bob Age:23}
笔记: 必须导出
struct
的字段(以大写字母开头),否则
json
包(使用反射)将无法读/写它们

您还可以为结构字段指定标记,以控制/微调json封送/解封送过程,例如更改json文本中的名称:

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"years"`
}
通过此更改,上述应用程序的输出如下所示:

{"name":"Bob","years":23}
{Name:Bob Age:23}
函数的文档详细说明了标签提供的可能性

通过实现和接口,您可以完全自定义封送/解封送过程


此外,如果您的结构不是预定义的(例如,您事先不知道字段),则可以使用
map[string]接口{}

您可以使用@tommyd456将对象存储在redis中。它是一个字节片(
[]字节
),基本上是字符串
表示的UTF-8编码数据。
{"name":"Bob","years":23}
{Name:Bob Age:23}