Create Json at Golang with struct
在Golang中创建Json
最近在写一个“分布式”的探针,php的服务端和客户端都写好了,但是在某些小内存的vps上跑php未免过于奢侈,于是正好用新学的Go来练一下手。
在PHP中生成json需要数组,在Go中这个概念叫 结构体(struct),用法如下:
首先引入encoding/json
package main
import (
"fmt"
"encoding/json"
)
type Json struct {
Cpuname string
Loadavg string
Ramtotal string
}
func main() {
p := Json{Cpuname:"Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz", Loadavg:"0.57", Ramtotal:"16337716"}
j, _ = json.Marshal(p)
fmt.Println(string(j))
}
其实这里的Loadavg和Ramtotal应该用数字类型。
结构体的名称必须大写,否则获得一个{}
。解决方法:
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Sex int `json:"sex"`
}
执行后获得正常的Json字符串:
{"Cpuname":"Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz\n","Loadavg":"0.26\n","Ramtotal":"16337716\n"}
最后修改于 Tue, 03 Jan 2017