type People struct {
Name string json:"name_title"
Age int json:"age_size"
}
func JsonToStructDemo(){
jsonStr := { "name_title": "jqw" "age_size":12 }
var people People
json.Unmarshal([]byte(jsonStr), &people)
fmt.Println(people)
}
func main(){
JsonToStructDemo()
}
package main
import (
"encoding/json"
"fmt"
)
type IT struct {
Company string json:"-"
//此字段不会输出到屏幕
//Company string json:"company"
这样打印输出别名首字母就会小写(二次编码)
Subjects []string json:"subjects"
//二次编码
IsOk bool json:",string"
Price float64 json:",string"
}
func main() {
//定义一个结构体变量,同时初始化
s := IT{"itcast", []string{"Golang", "PHP", "Java", "C++"}, true, 666.666}
//编码,根据内容生成json文本
//buf, err := json.Marshal(s)
//buf = {"subjects":["Golang","PHP","Java","C++"],"IsOk":"true","Price":"666.666"}
buf, err := json.MarshalIndent(s, "", " ") //格式化编码
if err != nil {
fmt.Println("err = ", err)
return
}
fmt.Println("buf = ", string(buf))
}