json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。
利用结构体进行转换
golang对json的解析函数在encoding/json
里面,主要是编码和解码两个函数。
json.Marshal
func Marshal(v interface{
}) ([]byte, error)
Marshal函数将会递归遍历整个对象,依次按成员类型对这个对象进行编码,类型转换规则如下:
Golang 数据类型 | JSON 数据类型 |
---|---|
bool | Boolean |
int float | Number |
string | JSON String 带”“ |
struct | JSON Object 再根据成员递归打包 |
数组或切片 | JSON Array |
[]byte | base64编码后的JSON String |
map | JSON Object, key必须是string |
interface{} | 按照内部实际进行转换 |
nil | null |
channel, func | UnsupportedTypeError |
package main
import(
"encoding/json"
"fmt"
)
type Per struct{