首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Golang中,json编码和编组有什么不同?

在Golang中,json编码和编组有什么不同?
EN

Stack Overflow用户
提问于 2015-10-11 11:02:33
回答 5查看 24.2K关注 0票数 66

JSON‘编码/解码’和JSON‘编组/解组’有什么区别?

尝试学习如何用golang编写RESTFUL api,但不确定JSON“编码”和“编组”之间的区别是什么,或者它们是否相同?

EN

Stack Overflow用户

发布于 2020-06-17 05:18:47

JSON‘编码/解码’和JSON‘编组/解组’有什么区别?

当然,MarshalingEncoding是不同的概念,在维基百科(或其他地方)上更好地解决了这一问题。但简而言之,对象被编组为JSON编码的字符串。

另外,不要让Golang的json.NewEncoder / (json.Encoder).Encodejson.Marshal方法让您感到困惑。它们都将对象编组为JSON编码的字符串。不同之处在于编码器,首先将对象编组为JSON编码字符串,然后将数据写入缓冲流(或维基百科上的Data Buffer )。因此,编码器比更简单的json.Marshal使用更多的代码和内存开销。

您也可以在Golang源代码中看到这一点:

https://golang.org/src/encoding/json/encode.go?s=6458:6501#L148

  • Marshal

通常,如果需要将JSON编码的字符串发送到文件系统或作为HTTP响应,则可能需要使用缓冲流。但是,您也可以使用pipe在没有缓冲流的情况下发送这个JSON编码字符串。

票数 13
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33061117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档