具体步骤,写在注释中哦
- 写入json文件
package main
import (
"encoding/json"
"fmt"
"os"
)
func main() {
//这里创建一个需要写入的map
dataMap := make(map[string]interface{})
//将数据写入map
dataMap["name"] = "ReganYue"
dataMap["age"] = 20
dataMap["sex"] = true
dataMap["city"] = "changsha"
dataMap["hobby"] = []string{"B站", "CSDN"}
//打开文件
file, _ := os.OpenFile("E:\\code\\src\\jsonFile\\hello.json", os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0666)
defer file.Close()
//创建encoder 数据输出到file中
encoder := json.NewEncoder(file)
//把dataMap的数据encode到file中
err := encoder.Encode(dataMap)
//异常处理
if err != nil{
fmt.Println(err)
return
}
fmt.Println("编码成功")
}
2.读取json文件
package main
import (
"encoding/json"
"fmt"
"os"
)
func main() {
//dataMap := make(map[string]interface{})
//dataMap["name"] = "ReganYue"
//dataMap["age"] = 20
//dataMap["sex"] = true
//dataMap["city"] = "changsha"
//dataMap["hobby"] = []string{"B站", "CSDN"}
//file, _ := os.OpenFile("E:\\code\\src\\jsonFile\\hello.json", os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0666)
//encoder := json.NewEncoder(file)
//err := encoder.Encode(dataMap)
//if err != nil{
// fmt.Println(err)
// return
//}
//defer file.Close()
//fmt.Println("编码成功")
file, _ := os.OpenFile("E:\\code\\src\\jsonFile\\hello.json", os.O_CREATE|os.O_RDWR, 0666)
defer file.Close()
//创建map,用于接收解码好的数据
dataMap1 := make(map[string]interface{})
//创建文件的解码器
decoder := json.NewDecoder(file)
//解码文件中的数据,丢入dataMap所在的内存
err8 := decoder.Decode(&dataMap1)
if err8 != nil{
fmt.Println(err8)
return
}
fmt.Println("解码成功",dataMap1)
}