Go Encoding和Decoding

知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述Go Encoding和Decoding相关的知识,希望能为你提供帮助。
使用JSON Encoding 和 DecodingJSON,全称 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

【Go Encoding和Decoding】


    推荐阅读