Golang 的json处理
Golang官网上有专门的包来处理json数据,https://golang.org/pkg/encoding/json/。 import "encoding/json" 和其他语言处理类似,分为encode和decode两部分 encode类似于php func Marshal(v interface{}) ([]byte,error)
php的函数 type Message struct { Name string Body string Time int64 }
一个 m := Message{"Alice","Hello",1294706395881547000}
使用 b,err := json.Marshal(m)
如果成功了,将会返回一个包含json数据的 b ==[]byte(`{"Name":"Alice","Body":"Hello","Time":1294706395881547000}`)
json 解析相关的 struct tag还是以 type Message struct { Name string Body string Time int64 }
正常情况下,我 { Name: "Alice",Body: "Hello",Time: 1294706395881547000,} 假如我想让 type Message struct { Name string `json:"username"` Body string Time int64 }
这样,Marshal后得到的 { username: "Alice",} decode类似于php func Unmarshal(data []byte,v interface{}) error
php的 var m Message
err := json.Unmarshal(b,&m)
然后 m = Message{
Name: "Alice",Body: "Hello",Time: 1294706395881547000,}
不知要解析的
|