为了账号安全,请及时绑定邮箱和手机立即绑定

Golang JSON 编组

Golang JSON 编组

Go
BIG阳 2021-10-25 20:06:45
我试图将一个数组编组为一个字符串,用换行符分隔所有元素。我的内存不足,正在考虑一种更有效的方法来做到这一点。buffer := ""for _, record := range all_data {    body, _ := json.Marshal(record)    buffer += string(body) + "\n" // i run out of memory here题:有没有办法将换行符附加到字节数组?现在我正在投射 via string(body),但我认为此操作分配了大量内存(但也许我错了)。
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

假设您的数据对于运行它的计算机来说本质上不是太大,问题很可能是该字符串的构建效率低下。相反,您应该使用 abytes.buffer然后调用它的String()方法。这是一个例子;


var buffer bytes.Buffer


for _, record := range all_data {

    body, _ := json.Marshal(record)

    buffer.Write(body)

    buffer.WriteString("\n")

}


fmt.Println(buffer.String())


查看完整回答
反对 回复 2021-10-25
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信