知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述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 空
对象是包含在一对花括号 ( ?
??
? ) 中的键/值对的无序集合。 以下是空对象的示例:键的值也可以是另一个对象,如下例所示:
"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】
推荐阅读
- Linux记录操作日志
- 如何搭建组件库的最小原型
- #私藏项目实操分享#愚公系列2022年05月 Python教学课程 72-DRF框架之认证和权限
- Docker下的Spring Cloud三部曲之一(极速体验)
- 监控概述Zabbix基础Zabbix监控服
- mq从零开始实现 mq-05-实现优雅停机
- LINUX 环境下安装配置JDK详解
- 为什么不建议给MySQL设置Null值(《死磕MySQL系列 十八》)
- k8s部署-52-k8s之Prometheus(普罗米修斯)监控,简单梳理下K8S监控流程