zoukankan      html  css  js  c++  java
  • go JSON 读写到文件

    go语言 JSON 读写到文件

    func readFile() {
    
        filePtr, err := os.Open("person_info.json")
        if err != nil {
            fmt.Println("Open file failed [Err:%s]", err.Error())
            return
        }
        defer filePtr.Close()
    
        var person []PersonInfo
    
        // 创建json解码器
        decoder := json.NewDecoder(filePtr)
        err = decoder.Decode(&person)
        if err != nil {
            fmt.Println("Decoder failed", err.Error())
    
        } else {
            fmt.Println("Decoder success")
            fmt.Println(person)
        }
    }
    func writeFile() {
        personInfo := []PersonInfo{{"David", 30, true, []string{"跑步", "读书", "看电影"}}, {"Lee", 27, false, []string{"工作", "读书", "看电影"}}}
    
        // 创建文件
        filePtr, err := os.Create("person_info.json")
        if err != nil {
            fmt.Println("Create file failed", err.Error())
            return
        }
        defer filePtr.Close()
    
        // 创建Json编码器
        encoder := json.NewEncoder(filePtr)
    
        err = encoder.Encode(personInfo)
        if err != nil {
            fmt.Println("Encoder failed", err.Error())
    
        } else {
            fmt.Println("Encoder success")
        }
    
       // 带JSON缩进格式写文件
      //data, err := json.MarshalIndent(personInfo, "", "  ")
       //if err != nil {
       // fmt.Println("Encoder failed", err.Error())
       //
       //} else {
       // fmt.Println("Encoder success")
       //}
       //
       //filePtr.Write(data)
    }
  • 相关阅读:
    9.算术运算符
    7.字符串格式化
    下载和配置JDK
    Set-常用API及详解
    List-ApI及详解
    电路交换、报文交换、分组交换比较
    集合之List—ArrayList
    java的getClass()函数
    Object类、包装类、内部类详解
    接口的探究
  • 原文地址:https://www.cnblogs.com/bingxing/p/15786735.html
Copyright © 2011-2022 走看看