Open XMLHexagram opened 3 years ago
大晚上先来答一下json是啥 大概可能是一种储存信息 交换信息的东西吧,,吃炸鸡去了
除了 JSON 之外,Go 的标准库还支持哪些格式的序列化/反序列化? 它们可以在哪个包里找到?
JavaScript Object Notation , 标准通用标记语言(的子集) .
在前后端分离的模式中 , 生成网页的程序 , 和操作数据库的程序必然是分开的 . 显然 , 不同的程序间无法直接读取其它程序的数据( 尤其是不同语言间对变量类型的 定义 与 实现 很有可能不一样 ) . 这个时候一个格式化的东西是非常有必要的 . (类似于 当前 的通用语言英语)
这样所有程序都能读的语言有很多 , 从最初的SGML , XML , SVG , HTML , 到后来的CSON , YAML , INI , 以及今天一日一摸鱼的主角JSON .
显然 , 排除写出来充字数的语言 , 剩下的XML和JSON , 是当前网络服务中数据交换还在用的语言 .
项目 | 比较 |
---|---|
数字格式 | XML没有而JSON有(方便parse) |
结构 | JSON结构更简单 , XML支持更复杂的结构 |
调用 | JS调用JSON一句eval_r() , XML还没见过哪个语言支持直接调用(虽然这个对比比较欺负人) |
冗余信息 | JSON明显少很多 , 而多数情况下不需要太多的冗余 |
总体来说
一切都是因为第一个后端人写的时候用了JSON
json是一种数据交互格式,与XML这种纯文本格式不同的是,它比较轻量级。使用ajax可以用于前后端数据交换。json可以通过数组和对象的方式来定义对象的属性。
json用来处理post请求,因为post请求是键值对的形式,JSON的结构更容易映射至一般语言的数据结构,跟xml比也比较易读。
为什么选择了json,而不是XML之类的格式?