github.com/zhangdapeng520/zdpgo_json@v0.1.5/examples/dump_and_load/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/zhangdapeng520/zdpgo_json"
     7  )
     8  
     9  type account struct {
    10  	Email    string  `json:"email"`
    11  	password string  `json:"password"` // 不会处理私有变量
    12  	Money    float64 `json:"money"`
    13  }
    14  
    15  type user struct {
    16  	Name    string
    17  	Age     int
    18  	Roles   []string
    19  	Skill   map[string]float64
    20  	Account account
    21  }
    22  
    23  func main() {
    24  	a := account{
    25  		Email:    "张大鹏",
    26  		password: "123456",
    27  		Money:    100.5,
    28  	}
    29  	u := user{
    30  		Name:    "张大鹏",
    31  		Age:     27,
    32  		Roles:   []string{"Owner", "Master"}, // 处理切片
    33  		Account: a,
    34  	}
    35  
    36  	// 写入文件
    37  	err := zdpgo_json.Dump("user.json", u)
    38  	if err != nil {
    39  		fmt.Println(err)
    40  	}
    41  
    42  	// 读取文件
    43  	err = zdpgo_json.Load("user.json", &u)
    44  	if err != nil {
    45  		fmt.Println(err)
    46  	}
    47  	fmt.Println(u)
    48  }