json的优点
数据格式比较简单,易于读写,格式都是压缩,
便于客户端的解析,JavaScript 可以轻松进行json数据的读取
go的标准包encoding/json对json支持
func Marshal(v interface{}) ([]byte,error)
该函数递归遍历v的结构,生成对应的json
map转json
package main
import (
"encoding/json"
"fmt"
)
func main(){
// 定义一个map变量并初始化
m := map[string][]string{
"level": {"debug"},
"message": {"File not found", "Stack overflow"},
}
// 将map解析成json格式
if data, err := json.Marshal(m); err == nil {
fmt.Printf("%s\n", data)
// {"level":["debug"],"message":["File not found","Stack overflow"]}
}
}
Marsha() 函数返回的json字符串是没有空白字符和缩进的,可以调用json.Marshallndent(),
该函数有两个参数表示每一行的前缀和缩进方式