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"
}
}

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 初识 #yyds干货盘点#_字符串

总结

好了,JSON 初识到这就结束了,我们接下来将使用 Go 语言与 JSON 格式进行交互,看一下会有什么妙用吧。下一篇文章再见~