Golang JSON 编组

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


buffer := ""

for _, record := range all_data {


    body, _ := json.Marshal(record)

    buffer += string(body) + "\n" // i run out of memory here

题:


有没有办法将换行符附加到字节数组?现在我正在投射 via string(body),但我认为此操作分配了大量内存(但也许我错了)。


BIG阳
浏览 166回答 2
2回答

阿波罗的战车

假设您的数据对于运行它的计算机来说本质上不是太大,问题很可能是该字符串的构建效率低下。相反,您应该使用 abytes.buffer然后调用它的String()方法。这是一个例子;var buffer bytes.Bufferfor _, record := range all_data {    body, _ := json.Marshal(record)    buffer.Write(body)    buffer.WriteString("\n")}fmt.Println(buffer.String())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go