作者回复: type BasicInfo struct { Name string `json:"name"` Age int `json:"age"` } //easyjson:json type BasicInfoList []BasicInfo 注意://easyjson:json 这个注释是必须要的,否则easyJson会忽略这个非struct类型 func TestEasyJson(t *testing.T) { e1 := BasicInfo{"Mike", 10} e2 := BasicInfo{"Rose", 11} eList := BasicInfoList{e1, e2} v, _ := eList.MarshalJSON() fmt.Println(string(v)) } //output: [{"name":"Mike","age":10},{"name":"Rose","age":11}]
作者回复: 源码要位于GOPATH/src路径下。 可以按如下步骤解决: 1. cp -r ~/go_learning/code/ch43/easyjson ~/go_learning/code/ch43/easyjson/src 2. export GOPATH=~/go_learning/code/ch43/easyjson:$GOPATH 这样就可以了
作者回复: 如果没有你自己用$GOPATH/src里的源码build一下生产即可
作者回复: 可以利用interface{}来完成。参见 http://songran.net/2017/03/08/golang_parse_json/
作者回复: 简而言之,如果程序对性能要求很高,jsonparser不能很好的满足要求,就使用easyJson