JSON封送处理组

K2xL:

我试图将数组编组为字符串,并用换行符分隔所有元素。我的内存不足,正在考虑一种更有效的方法。

buffer := ""
for _, record := range all_data {

    body, _ := json.Marshal(record)
    buffer += string(body) + "\n" // i run out of memory here

题:

有没有一种方法可以将换行符附加到字节数组?目前,我正在通过via进行投射string(body),但我认为该操作会分配大量内存(但也许我错了)。

传福音:

假设您的数据对于运行它的计算机而言本质上不是太大,那么问题可能出在该字符串的构建效率低下。相反,您应该使用a bytes.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())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章