```
package main
import (
"encoding/json"
"fmt"
)
type Block struct {
Type string `json:"type"`//除非json中的key也是大写,否则即使名称一样也无法转换
Title string `json:"title"`
Icon string `json:"icon"`
Piclist []string `json:"piclist"`
}
func main() {
str := `{
"type": "showPics",
"title": "校历",
"icon": "/assets/images/index/calender.png",
"piclist": [ "http://jwb.xujc.com/\_upload/article/images/93/d5/56c5a1924d0eba890083b77d4247/be6363d8-a8a6-4846-a605-237b289f0c31.jpg"
]
}`
var block Block
err := json.Unmarshal(\[\]byte(str), &block)
if err != nil {
fmt.Printf("反序列化失败:%v\\n", err)
return
}
fmt.Println(block)
}
```
- 数据类型
- 数组array
- 切片slice
- 字符串string
- map
- 结构体struct
- 方法func
- 匿名结构体(继承)
- 字段别名
- 接口interface
- 常量
- 基础语法
- 循环for
- 遍历
- 函数func
- defer
- 异常处理error
- 访问范围
- 包
- 类型断言
- 文件
- 打开文件
- 读取文件
- 写文件
- 判断是否存在
- 拷贝文件
- JSON
- 序列化
- 反序列化
- 命令行
- 杂项
- Windows下配置加速
- 相关链接
- 占位符
- 随机数rand
- 单元测试
- goroutine
- 并发和并行
- 协程和主线程
- MPG模式
- 设置CPU数量
- 全局互斥锁
- 管道
- 示例1
- 示例2
- select
- 异常捕获
- 反射
- 示例
- 示例-改变值
- 网络编程
- TCP编程
- 示例一
- redis