```
type slisli struct {
a float64 `json:"a"`
b float64 `json:"b"`
c string `json:"c"`
}
type Message struct {
Name string `json:"msg_name"`
Body string `json:"body,omitempty"` //该字段为空则忽略
Age int `json:"age"`
Sli []slisli `json:"sli"`
}
func main(){
var me Message
var me2 Messag
e
ssll1:=slisli{0.5,0.5,"aaaa"}
ssll2:=slisli{1.1,1.1,"bbbb"}
ssll3:=slisli{6.6,6.6,"cccc"}
ssll4:=slisli{7.7,7.7,"dddd"}
var sll=[]slisli{ssll1,ssll2}
me = Message{
Name: "aaa",
Body: "",
Age:12,
Sli: sll,
}
d, Rrr := json.Marshal(me)
Rrr =json.Unmarshal(d,&me2)
fmt.Println(me2)
}
```
为什么打印结果是{aaa 12 [{0 0 } {0 0 }]} ???
fmt.Println()方法输出格式就是这样的,而不是json格式。
可以看下fmt包的说明
http://docs.studygolang.com/pkg/fmt/#Println
#1
更多评论
<a href="/user/ddxx11223" title="@ddxx11223">@ddxx11223</a> 不明白你是要说啥,如果真像1楼说的,要输出json格式的,你打印一下序列化后的字符串就可以得到:
```
fmt.Printf("%s\n", string(d))
```
#2