这里给出最简单的解析json的例子,很多人纠结json中的{} 和[]在go语言和php语言中解析的不同,之后会写一篇详细教程避免大家踩坑:
package main
import (
"fmt"
"encoding/json"
)
type bannerStruct struct {
Banner []map[string]string
A int
}
func main() {
str := `{"banner":[],"a":111}`
var b bannerStruct
json.Unmarshal([]byte(str), &b)
fmt.Printf("%+v", b)
var c bannerStruct
c.Banner = make([]map[string]string,0) //没有这一步会被解析成:{"Banner":null,"A":0} 和php解析后不一致
strC, _:= json.Marshal(c)
fmt.Printf("%s",strC) // {"Banner":[],"A":0}
}