首页 > 解决方案 > 字符串到接口的转换

问题描述

str := fmt.Sprintf("%v", ruleSet)

这里的 ruleSet 是 interface{} 类型,实际上包含一个 json 集合。我已将其转换为字符串。

现在我正在尝试从这样的字符串中以 interface{} 格式恢复它,

err = json.Unmarshal([]byte(str), &ruleSet)

我收到以下错误:

invalid character 'm' looking for beginning of value. 

我的实际意图是以字节格式将字符串存储在缓存中,并在需要时检索它并将其转换为原始类型。

标签: go

解决方案


使用编组/解组。fmt.Sprintf 不产生有效的 json:

data, err:=json.Marshal(ruleSet)
...
json.Unmarshal(data,&ruleSet)

推荐阅读