开发的过程中,团队某个代码库使用了golang1.18的any特性,因此跟着将go升级到了1.18版本,开发的过程中遇到了以下问题
有如下代码
_, err := jsoniter.MarshalToString(value)
if err != nil {
return "", err
}
return "", err
该代码在运行时直接报错,将第一行改成原始的json.Marshal就没问题。
主要原因是go1.18对应的jsoniter要高版本(1.1.12):
github.com/json-iterator/go v1.1.12
升级后就可以解决这个问题,或者用原始的""encoding/json