6-4 json读写文件(解码)

本文详细介绍使用Go语言对JSON格式的数据进行解码的过程。通过两个实例,一是将JSON文件解码为map类型,二是解码为结构体切片,展示了如何利用标准库中的json包实现数据解析。
package main

import (
    "encoding/json"
    "fmt"
    "os"
)

//解码于谦.json 为map
func main041() {

    //打开要解码的文件
    srcFile, _ := os.Open("E:/go-project/daemon/w3/于谦.json")
    defer  srcFile.Close()

    //创建一个解码器
    decoder := json.NewDecoder(srcFile)

    //于谦.json文件是一个map类型的json,创建解码文件后存放的map
    dstMap := make(map[string]interface{})

    //解码源文件,丢入对应的map所在的地址
    err := decoder.Decode(&dstMap)
    if err != nil{
        fmt.Printf("解码失败,err=",err)
        return
    }
    fmt.Println("解码成功:",dstMap)
}

//解码八大姨.json 文件结构体切片
func main() {

    type Persion struct {
        Name    string
        Age        int
        Sex        bool
        Hobby    []string
        Rmb        float64
    }
    //打开要解码的文件
    srcFile, _ := os.Open("E:/go-project/daemon/w3/八大姨.json")
    defer  srcFile.Close()

    //创建一个解码器
    decoder := json.NewDecoder(srcFile)

    dstSlice := make([]Persion, 0)

    //解码源文件,丢入对应的map所在的地址
    err := decoder.Decode(&dstSlice)
    if err != nil{
        fmt.Println("解码失败,err=",err)
        return
    }
    fmt.Println("解码成功:",dstSlice)
}

 

转载于:https://www.cnblogs.com/paad/p/11261199.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值