JSON 简介
JSON,全称 JavaScript Object Notation (JSON) 是一种基于文本的标准格式,用于使用 JavaScript 对象语法表示数据。 它是一种轻量级且易于解析的数据表示语言,通常用于网络服务器和客户端之间的连接。 如今,JSON 越来越流行。 它通常用于数据表示以及数据交换。 JSON 不像 XML 那样冗长,但这正是它如此有用的原因。 JSON 字符串比它们的等效 XML 字符串短,解析 JSON 字符串很容易
JSON 支持的类型
JSON 支持如下的数据类型:
- Object 对象
- String 字符串
- Boolean 布尔
- Number 数字
- Array 数组
- null 空
Object
对象是包含在一对花括号 ( {}
) 中的键/值对的无序集合。 以下是空对象的示例:
{}
键的值也可以是另一个对象,如下例所示:
{ "name": "yuzhou1su", "age": 18, "address": { "road": "renmin south road", "street": "123 street", "city": "cs", "province": "hn", "country": "cn" } }
- 11.
String
字符串是一个字符序列。 对象中的键必须是字符串,而值可以是字符串、布尔值、数字、数组、null 或其他对象。 下面是给出的键值对对象:
{ "name": "yuzhou1su" }
一个对象也能包括多个键值对,我们只需要在中间增加一个 ,
用来区分第一个和第二个键值对,类似:
{ "name": "yuzhou1su", "age": 18 }
尤其注意的是,每一个对象的键必须唯一,如果声明两个 name
就可能会报错,如:
{ "name": "yuzhou1su", "name": "宇宙之一粟" }
Boolean
类似其他语言,布尔类型要么为真或假:
{ "name": "yuzhou1su", "age": 18, "isAuthor": true }
Number
Number 值可以是整数(整数)或浮点数(小数点数):
{ "name": "yuzhou1su", "age": 18, "isAuthor": true, "weight": 74.2, "height": 1.73 }
Array
数组是对象的有序序列:
{ "phone": [ { "type": "work", "number": 123456 }, { "type": "home", "number": 56789 } ] }
请注意,数组用一对括号 []
表示。
null
当一个键没有值时,你可以给它分配一个空值:
{ "littleName": null }
我经常用来检查字符串是否为有效 JSON 字符串的一个很好的在线工具是 https://jsonlint.com/。 在网站中输入您的 JSON 字符串(见图 9-1),单击 Validate JSON 按钮,您会立即被告知您的 JSON 字符串是否有效。
{ "name": "yuzhou1su", "age": 18, "isAuthor": true, "weight": 74.2, "height": 1.73, "phone": [{ "type": "work", "number": 123456 }, { "type": "home", "number": 56789 } ], "littleName": null }
总结
好了,JSON 初识到这就结束了,我们接下来将使用 Go 语言与 JSON 格式进行交互,看一下会有什么妙用吧。下一篇文章再见~