Package Main
Import (
"FMT"
"Encoding/json"
"Bytes"
)
Type Device struct{
SN string ' JSON: ' s ' '
Model string ' JSON: ' M,omitempty '
}
Func (d Device) String () string{
Return to FMT. Sprintf ("serial:%s model:%s", d.sn, D.model)
}
var m = map[string]interface{}{
"SN": "123456",
"Platform": 602,
"Force": true,
"Location": []string{"Paris", "Beijing"},
"DECR": "",
}
Func Encodejson (v interface{}) ([]byte, error) {
var buf bytes. Buffer
Encoder: = json. Newencoder (&BUF)
Encoder. Setescapehtml (False)
If err: = Encoder. Encode (v); Err! = nil{
return nil, err
}
Return BUF. Bytes (), nil
}
Func Main () {
If s, err: = json. Marshal (m); Err! = nil{
Panic (ERR)
}else{
Fmt. Println (string (s))
}
If b, err: = Encodejson (M); Err! = nil{
Panic (ERR)
}else{
Fmt. Println (string (b))
}
D: = device{sn: "123456", Model: "Http://baidu.com"}
If ds, Err: = Encodejson (d); Err! = nil{
Panic (ERR)
}else{
Fmt. Println (String (DS))
}
}