Go Lang语言JSON文件的读写操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /* * Go语言内建对 JSON 的支持,使用内置的 encoding/json 标准库,可以轻松使用Go程序生成和解析 JSON 格式的数据。 */ package main import ( "encoding/json" "fmt" "os" ) //定义结构体,字段名大写表示允许被外包所使用的 type Json_config struct { Name string Host string Port int User string Pass string Dbname string Charset string Course [] string } func main() { write_json( "db.json" ) // 写 JSON 文件 read_json( "db.json" ) // 读 JSON 文件 } /* * 写 JSON 文件 */ func write_json(json_files string ) { info := []Json_config{{ "mysql" , "localhost" , 3306, "root" , "x123455x" , "mysql" , "utf8" , [] string { " " }}, { "redis" , "127.0.0.1" , 8889, "root" , "" , "redis" , "" , [] string { "192.168.0.1" , "192.168.0.100" }}} filePtr, err := os.Create(json_files) // 创建Json格式的文件 if err != nil { fmt.Println( "文件创建失败" , err.Error()) return } defer filePtr.Close() /* 创建Json编码器 */ encoder := json.NewEncoder(filePtr) err = encoder.Encode(info) if err != nil { fmt.Println( "编码错误" , err.Error()) } else { fmt.Println( "编码成功" ) } } /* * 读 JSON 文件 */ func read_json(json_files string ) { filePtr, err := os.Open(json_files) //读取Json格式的文件 if err != nil { fmt.Println( "文件打开失败 [Err:%s]" , err.Error()) return } defer filePtr.Close() var info []Json_config /* 创建json解码器 */ decoder := json.NewDecoder(filePtr) err = decoder.Decode(&info) if err != nil { fmt.Println( "解码失败" , err.Error()) } else { fmt.Println( "解码成功" ) fmt.Println(info) } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律