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))

}

01-22 12:42