Go语言圣经 - 第4章 复合数据类型 - 4.5 JSON

第四章 复合数据类型

基础数据类型是Go语言世界的原子

复合数据类型包括四种:slice、map、 struct、array

数组和结构体是聚合类型,它们的值由许多元素或成员构成,数组和结构体都是固定内存大小的数据结构,,相比之下,slice和map则是动态的数据结构,它们将根据动态增长

4.5 JSON

JavaScript对象表示法(JSON)是一种用于发送和接收结构化信息的标准协议。类似的协议还有XML、ASN.1和Google的Protocol Buffer等,但JASON应用的最广泛

Go语言中对JSON的支持是encoding/json包

JSON是对JavaScript中各种类型的值-字符串、数字、布尔值和对象—Unicode本文编码,它可以用有效可读的方式表示基础数据类型和聚合数据类型

基本的JSON类型有数字(十进制或科学记数法)、布尔值、字符串,其中字符串是以双引号包含的Unicode字符序列,支持和Go语言类似的反斜杠转义特性,不过JSON使用的是\Uhhhh转义数字来表示一个UTF-16编码,而不是Go语言的rune类型

这些基础类型可以通过JSON的数组和对象类型进行递归组合。

一个JSON数组是一个有序的值序列,写在一个方括号中并以逗号分隔;一个JSON数组可以用于编码Go语言的数组和slice

一个JSON对象是一个字符串到值的映射,写成以系列的name:value对形式,用花括号包含并以逗号分隔;JSON的对象类型可以用于编码Go语言的map类型(key类型是字符串)和结构体,例如:

boolean     true
number      -273.15
string      "she said \"Hello, BF\""
array       ["gold","silver","bronze"]
objetct     {
            "year":1980,
            "event":"archery",
            "medals":["gold","sliver","bronze"]}

思考一个程序:该程序负责收集各种电影评论并提供反馈功能,它的Movie数据类型和一个典型的表示电影的值列表如下所示:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值