golang json.Marshal使用中遇到的崩溃问题
2017-01-22 12:43
656 查看
1000000000-byte limit fatal error: stack overflow
出现上述类似崩溃报错
原因是待Marshal的结构体中包含了一个指向上一层的指针,在被Marshal的时候循环使用,导致stack overflow
解决方案,不需要Marshal的数据,在后面加上 json:”-“
原代码类似于下:
修改为
出现上述类似崩溃报错
原因是待Marshal的结构体中包含了一个指向上一层的指针,在被Marshal的时候循环使用,导致stack overflow
解决方案,不需要Marshal的数据,在后面加上 json:”-“
原代码类似于下:
type datas struct{ a int b int da data } type data struct{ c int ds *datas } func main(){ var a = new(datas) a.da.ds=a json.Marshal(a) }
修改为
type datas struct{ a int b int da data } type data struct{ c int ds *datas `json:"-"` } func main(){ var a = new(datas) a.da.ds=a json.Marshal(a) }
相关文章推荐
- golang中使用package json遇到的问题
- 使用JSONKit库遇到的问题
- 使用SpringMVC注解ResponseBody返回Json数据可能遇到的问题
- spark 存储json数据遇到问题——json4s使用(一)
- spark 存储json数据遇到问题——json4s使用(二)
- 经常遇到的一个问题是 MFC中开启多线程后 在非主线程中使用updata函数出现崩溃的情况。
- 使用Gson和FastJson解析JSON数据遇到的问题
- 使用fastjson遇到的一点问题
- fastjson使用遇到的问题
- 解决使用 libcurl 遇到的多线程崩溃问题
- Android 使用SwitchCompat 遇到奇怪的崩溃问题
- golang中json反序列化可能遇到的问题
- 使用DaoCloud加速docker镜像下载——修改daemon.json遇到的问题
- struts2中使用json遇到的问题总结及示例程序
- 使用https://github.com/jaredrummler/AndroidProcesses库遇到的崩溃问题的“探索”
- 当使用servlet输出json时,浏览器端jquery的ajax遇到parse error的问题
- 使用fastjson编辑全大写字段时遇到的问题
- 在阿里云上使用 Docker 并配置阿里云镜像加速器,结果遇到无daemon.json文件无法配置的问题
- Fastjson在项目中使用遇到的问题
- SpringMVC使用JSON返回对象遇到的问题。