你有没有遇到过这样的场景:用手机App查天气,刚打开页面,温度、湿度、风速就全蹦出来了。这些信息是怎么从服务器传到你手机上的?背后很可能就有JSON的功劳。
JSON到底是什么
JSON全称是JavaScript Object Notation,翻译过来叫“JavaScript对象表示法”。它是一种轻量级的数据交换格式,说白了就是一种让程序之间传递数据的约定方式。虽然名字里带JavaScript,但它跟编程语言没关系,Python、Java、Go都能轻松读写。
你可以把JSON想象成快递包裹上的清单。比如你网购了一箱水果,清单上写着:苹果2斤,香蕉1把,橙子3个。JSON干的事也类似,用清晰的结构告诉对方“我给你的是什么”。
长什么样
一个典型的JSON数据看起来像这样:
{"name": "小明", "age": 25, "city": "北京", "hobbies": ["游泳", "看电影"]}能看到几个特点:用花括号包裹整体,键和值之间用冒号连接,每对键值用逗号隔开。字符串必须用双引号,数字不用。这种结构既能让机器快速解析,人眼看着也不费劲。
为啥大家都爱用
以前数据传输常用XML,长得像这样:<person><name>小明</name></person>,又啰嗦又难写。JSON更简洁,体积小,在网络传输时能省带宽。而且现代浏览器原生支持,JavaScript里直接JSON.parse()就能转成可用的数据。
现在绝大多数Web接口返回的都是JSON。比如你用打车软件,位置更新、司机信息、预估费用这些动态数据,基本都通过JSON实时传过来。再比如你填表单提交后看到“操作成功”,大概率是后台返回了一个{"code": 0, "msg": "ok"}这样的JSON结果。
要注意的细节
别看JSON简单,实际用的时候也有坑。比如最后一个属性后面不能加逗号,布尔值用true/false而不是1/0,null表示空值。还有,中文必须用UTF-8编码,不然容易出现乱码。
调试时如果遇到解析失败,先检查是不是多打了个逗号,或者忘了加引号。浏览器开发者工具的Network面板能直接查看接口返回的JSON,出问题一眼就能发现。
现在很多配置文件也用JSON格式。比如你打开一个小程序项目,里面有个project.config.json,记录着appid、项目名称这些信息。改配置就像填表格,比以前的ini或xml直观多了。