JSON是什么?JSON是用来干嘛的?

下面会结合 JSON 是什么?JSON用来做什么的来讲解。

JSON是什么?

JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON

JSON 常用来数据传输,因为它易于程序之前读写操作。

JSON 它其实是来自JavaScript对对象(Object)的定义。但是它作为数据格式来使用的时候,和JavaScript没有任何关系,它只是参照了JavaScript对对象定义的数据格式。

JSON 它可以服务任何语言,C、C++、Java、Objective-C、Python、Go、等,在各个语言中的字典、MapJSON是类似的结构,所以它们之间可以相互转换。

JSON键值对数据结构如上图,以 "{" 开始,以 "}" 结束。中间包裹的为Key : Value的数据结构。

如:

{"name":"sojson"}

表达的意思就是 name = sojson,他们是字符串(String),所以要以双引号引起来。

JSON数组数据结构如上图,以 "[" 开始,以 "]" 结束。中间为装起来的数据,而Value可以为以下的任意数据类型。

JSON数据结构中的Value可以是String、number、object、array、boolean(true/false),null 这几种数据类型。


{
    "type1": "string",
    "type2": 31,
    "type3": {"name":"张三"},
    "type4": ["张三","李四"],
    "type5": true,
    "type6": null,
}

以上都是合法的表达方式,用 type1 ~ type6 依次表达了"String、number、object、array、boolean(true/false),null" 这几种数据类型。

JSON用来干嘛?

前面说了 JSON 是轻量级的文本数据交换格式,由于各个语言都支持 JSONJSON 又支持各种数据类型,所以JSON常用于我们日常的 HTTP 交互、数据存储等。

HTTP & JSON

我们 HTTP请求 的时候,提交参数的时候,以 name = value 来表达,并且以"&"来链接多组参数,如下:

提交账号和密码:account=84446666@qq.com&password=abcdef

我们 HTTP请求 的时候,JSON提交参数的时候,以 {开始,中间为name = value 来表达,多组并且以","来间隔,以}结束,如下:

提交账号和密码:{"account":"84446666@qq.com","password":"abcdef"}

存储 & JSON

我们存储数据的时候,不管是存储到文件,还是数据库中,都可以存储JSON格式,现在好多数据库都已经开始支持JSON存储,如Mysql5.7 版本已经支持JSON存储,ElasticSearch更是以JSON为数据结构。

版权所属:SOJSON(原创文章)

原文地址:https://www.sojson.com/json/json_what.html

转载时必须以链接形式注明原始出处及本声明。

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...