这是代码,
package mainimport ( "database/sql" "encoding/json" "fmt" "log")//Company detailstype Company struct { ID int `json:"id"` Abn NullString `json:"abn"`}//NullString is a wrapper around sql.NullStringtype NullString sql.NullString//MarshalJSON method is called by json.Marshal,//whenever it is of type NullStringfunc (x *NullString) MarshalJSON() ([]byte, error) { if !x.Valid { return []byte("null"), nil } return json.Marshal(x.String)}func main() { company := &Company{} company.ID = 68 //create new NullString value nStr := sql.NullString{String: "hello", Valid: true} //cast it company.Abn = NullString(nStr) result, err := json.Marshal(company) if err != nil { log.Println(err) } fmt.Println(string(result))}这是博客文章,详细解释了它。



