Tim*_*Tim 5 serialization json marshalling go json-deserialization
在围棋的JSON包,我看到有marshal,decode等功能。
我以为decode与相反marshal,但后者意识到我可能是错的。
我认为我的基本问题是:
JSON的编组/解组,编码/解码和序列化/反序列化之间的关系和区别是什么?
谢谢。
为什么在这里使用示例?为什么在这里使用json包的Decode和Marshal方法?
我个人会说所有这些术语都是同义词,尽管编码/解码不是这样。在 Go Marshal 和 Unmarshal 中恰好是用于描述将字符串形式的 json 转换为对象,反之亦然的术语。然而,在 C# 中,这些相同的方法称为序列化和反序列化,据我所知,Go 中根本没有这个术语(至少在任何标准库中都没有)。
编码可以用作形容词来描述某些数据的存储格式,最常见的用途可能是字符编码(UTF-8)。在 Go 中,它还用作名词来描述可以解组/编组 json 的对象。Marshal/Unmarshal 始终用作动词,您对 json 执行该操作。
在 Go 中也使用编码来指代处理从一种编码到另一种编码的转换的更大类别的包。
如果您告诉我您正在编组、编组、反序列化或序列化某个对象或 json,我会完全理解您的意思。如果你说你是 json 编码一个对象,我会问一个澄清的问题。如果你说“响应是 json 编码的”,我会明白你的意思,尽管我认为你使用这些词而不是仅仅说“响应是 json”很奇怪。希望这或多或少是您正在寻找的信息。
哦还有,只是为了更清楚
Unmarshal == deserialize == decode
Marshal == serialize == encode
| 归档时间: |
|
| 查看次数: |
1504 次 |
| 最近记录: |