前言
昨天,我们讲解了在GO语言中JSON的使用方式。没有学的,可以先学习下,慢聊Go之JSON在Go语言中的道法术|Go主题月
今天,我们来进一步了解下在Go中,encoding/json 程序包的相关潜在知识。
Go的JSON实现
正如我们昨天学到的,Go的JSON实现来源于,程序包encoding/json。
它允许我们无缝地将JSON编码添加到我们的Go对象中。然而,由于广泛使用反射,encoding / json可能是最不被理解的软件包之一。我们今天将深入研究此程序包的工作原理。
什么时候应该使用JSON
通常,当易用性是数据交换的主要目标并且性能低优先级时,则使用JSON。由于JSON是人类可读的,因此如果发生故障,很容易进行调试。另一方面,必须先对二进制协议进行解码,然后才能对其进行分析。
在许多应用中,编码/解码性能的优先级较低,因为它可以轻松地水平缩放。例如,添加额外的服务器来服务API端点通常很简单,因为编码不需要与其他服务器协调。但是,一旦需要添加服务器,数据库可能就不会轻易扩展。
编码流
Go语言中的JSON包提供两种方