go 读写json到文件

105 阅读1分钟

上代码Example

前半部分是把文件中的json读出来到结构体

后半部署是把对象序列化json后,写到文件中。

package main

import (
   "encoding/json"
   "fmt"
   "io/ioutil"
)

type Salary struct {
   Basic, HRA, TA float64
}

type Employee struct {
   FirstName, LastName, Email string
   Age                        int
   MonthlySalary              []Salary
}

type Catlog struct {
   Name    string `json: "name"`
   Company string `json: "company"`
}

func main() {
   file, _ := ioutil.ReadFile("test.json")

   data := Catlog{}

   _ = json.Unmarshal(file, &data)

   fmt.Println(data)

   data2 := Employee{
      FirstName: "Mark",
      LastName:  "Jones",
      Email:     "mark@gmail.com",
      Age:       25,
      MonthlySalary: []Salary{
         Salary{
            Basic: 15000.00,
            HRA:   5000.00,
            TA:    2000.00,
         },
         Salary{
            Basic: 16000.00,
            HRA:   5000.00,
            TA:    2100.00,
         },
         Salary{
            Basic: 17000.00,
            HRA:   5000.00,
            TA:    2200.00,
         },
      },
   }

   file2, _ := json.MarshalIndent(data2, "", "    ")

   _ = ioutil.WriteFile("test2.json", file2, 0644)
}