json解析是如今(網絡)應用程序開發中最不可或缺的一環了。許多語言需要庫支持才可以解析、構造json,但Golang憑借着原生庫就可以很好地做到這一點。
json的基本表現形式有兩個:struct與string。解析與構造就是要解決string2struct與struct2string。在Golang里,負責這兩項功能的庫位於"encoding/json"。庫中函數使用說明可以前往“https://gowalker.org/encoding/json”查看。下面給出使用示例源碼。
JSON構造:
config.Host="http://www.baidu.com"
config.Port="80"
if b,err:=json.Marshal(config);err==nil{
fmt.Println(string(b))
}
JSON解碼
var jsonStr='"{host":"http://www.baidu.com","port":80}'
if err:=json.Unmarshal([]byte(jsonStr),&config);err==nil{
fmt.Println(config)
}
儲存JSON的結構體:
這點有一些特殊,特別說明一下。
type ConfigStruct struct{
Host string 'json:"host"'
Port int 'json:"Port"‘
}
特殊主要是在,與json操作有關的成員名必須以大寫開頭(即引出),並在其類型后加上一個字符串'json:"T(即名稱)"'