go - 字符串到接口的转换
问题描述
str := fmt.Sprintf("%v", ruleSet)
这里的 ruleSet 是 interface{} 类型,实际上包含一个 json 集合。我已将其转换为字符串。
现在我正在尝试从这样的字符串中以 interface{} 格式恢复它,
err = json.Unmarshal([]byte(str), &ruleSet)
我收到以下错误:
invalid character 'm' looking for beginning of value.
我的实际意图是以字节格式将字符串存储在缓存中,并在需要时检索它并将其转换为原始类型。
解决方案
使用编组/解组。fmt.Sprintf 不产生有效的 json:
data, err:=json.Marshal(ruleSet)
...
json.Unmarshal(data,&ruleSet)
推荐阅读
- python - 如何从熊猫的时间序列数据中获取斜率?
- java - java上的随机几何形状的数组任务
- apache-spark-sql - 如何通过启用 HiveSupport 在 windows10 上本地运行 spark-sql 程序时修复异常?
- python - 字典列表中的列表理解
- risc - RISC - 禁止指令序列
- autodesk-forge - Autodesk Forge 检索/更新自定义属性
- php - 图片链接失效
- mysql - 无法在“intellij idea”中加载 JDBC 驱动程序类“com.mysql.jdbc.Driver”
- html - css位置:同一行上的块
- linux - 在 go 中使用 curl 和命令