什么是json-键值对格式详解
数据这东西啊,那会儿总让人头疼,得费脑子转,还得用表格堆。可到了后来,大家发现不用了,直接扔进一个 JSON 文件里,所有东西都自动认。
这玩意儿就是 JSON,全名是“JavaScript Object Notation",听起来挺长,实际上就是个干数据打包的格式。别管它是不是由 JavaScript 搞出来的,反正它干这事儿干得挺顺手,跟 Excel 算 sheet 似的,但更轻量点,也更像文件。 拿手机里那个天气 APP 当例子最贴切。你点开天气页面,搜索“北京”,它不会给你一大串复杂的代码让你去解析,而是直接给你一张图,说今天北京是 25 度,有时候还冒着雨,还有雾霾指数呢。
你看到这些数据的时候,心里琢磨着:好家伙,原来它是个 JSON 格式。你就连能够自己写个小程序,把接口里的参数丢进去,看看它回的是不是也能这样解析。
这可不是写死代码那种,它是动态的,出于某些接口回的数据结构可能随工夫微调,只要符合 JSON 标准,电脑就能自己猜出它想要啥。 大量人一启动学 JSON,第一反应可能是“这跟 XML 有啥区别?”实际上没啥大区别,都是为了让计算机能读懂人类写的小字条。XML 那会儿挺流行,是那种有头有尾、标签分明的结构。
比如《圣经》的正文有时候会被存成 XML 文件,那时候得一个个去读标签,还得找起始和终止标记。JSON 就是赶明儿人用的,为啥?出于它省事儿。哪位都知道 JSON 是“键值对”的格式,比如你先写个名字“temperature",再写个数字"25",这就够了。
不用管它是不是写在某个标签里,电脑只看这对,直接就能干活。 这就好比你说“我要吃个三明治”,哥们儿能立马把你需求的食材和酱料预备好,不用你解释三明治里面到底包了啥面包、夹了啥肉,后面还有个生菜卷啥的。JSON 也是这个理儿,数据内容你自己定,格式标准,剩下的交给机器处理。你不用管它是不是 JSON 标准,只要遵循规范,机器就能乖乖听话。 再说说那个著名的程序员背书。他当年改 JSON 的时候,感觉这事儿特酷,说的益处就是“让人类把数据从字符串变成对象的过程自动搞定”。他是如此说的,我也如此认定,别看原理上未必彻底对,但给人的感觉就是好办粗暴。
那会儿你得写一堆代码去遍历数组,判断每个元素是啥类型,最终再组装成对象,像拼乐高积木一样,还得一个个去拼。目前呢?直接丢进去,格式化完,输出来个漂亮对象,事半而功倍。 这主要是出于 JSON 的结构忒友好了。它把数据拆开,每个键和值分开写,中间用逗号隔开,换行,用尖括号括起来,要么用引号包起来。
这种写法在机器眼里特别清楚。
比如你要查某个人的名字,你只需求写 `{ "name": "张三" }`,不需求写那句"张三的名字是",也不需求写代码逻辑。机器直接就能拿到内容。
要是用那种老式的 XML 格式,你得去读那些 `
不管是开发写代码的,还是搞数据分析的,就连是一些非技术人员,都习惯用它。你打开微信、支付宝、抖音这些主流 APP,它们内部用的不就是 JSON 嘛。你点分享,看到的标题、链接、正文,背后全都是 JSON 数据。它让不同平台之间能互相对话,不用非得都要去调 API,直接拿到的就是现成数据。
这让整个互联网变得超级高效,数据流转极快。 实际上大量人可能不懂为啥 JSON 如此火。出于它兼容性强。一种 JSON 格式被写出来,拿来用,赶明儿想换格式,还能换。
不像有些格式规定你务必用特定的结构,改了就废了。JSON 就纯粹是数据,结构能够随意,只要符合标准就行。
这就好比你写了一篇文章,只要格式不乱,读者都能看懂;可要是规定你文章里务必有个特定标题,后面还得有特定段落,那可就费事多了。 想想看,那会儿存数据,可能得用二进制要么那些复杂的编码方式,得把数据转成二进制再存硬盘里,然后读的时候又要转回来。
那时候效率低,还好办出错。JSON 是纯文本格式,人类都能直接读,机器也能直接读。并且它赞成大量功能,比如嵌套结构,数组,对象,就连能够定义不同类型的值,数字、字符串、布尔值,就连 JSON 对象本身,都能够做值。
这就让数据变得贼灵活。 还有啊,这也就是为啥目前大量地方都在统一用 JSON 标准。出于它是事实标准,哪位写了大家照着做。
那会儿数据格式乱七八糟,互不兼容,你得自己写转换工具,那工作量庞大。
后来大家发现 JSON 最省事,便纷纷改用它。目前 AWS、Google、Facebook、微软这些大厂,用的根本都是 JSON,就连数据库连接大量时候也用 JSON 来传参数。整个互联网生态都在为这种格式让路,乖乖照着 JSON 的格式去写代码,去处理数据。 自然,也不是说 JSON 没有缺点。
比如它强制要求所有元素都用双引号,要是你自己写代码,漏写引号,数据就会炸,整台服务器都得重启才能救回来。并且它不赞成注释,有些数据写得特别复杂,要是没写对,机器可能抓不住重点。
不过相对于它带来的益处,这些缺点实在忒不值钱了。毕竟哪位又愿意为了格式一点点的小费事,牺牲掉数据的流畅和效率呢? 反正就是,数据这东西,得懂一点解释,还得会写点代码。但 JSON,就是最省事的那一种表达方式。它把人类写得复杂的数据,变成机器听得懂的好办指令。赶明儿不管数据多庞大,多复杂,只要记得用 JSON,机器就能帮你搞定一切。
这大约就是为啥 JSON 能统治数据世界的根本缘由吧。它不像教科书里说的那样充满神秘,它就是个实实在在的工具,干就完了。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
