golang读取文件的json数据流,并解析到struct,存储到数据库

做的时候挺难的感觉,做出来就觉得很容易…..

直接选取json文件上传就行,不用存储文件

package controller

import (
    "encoding/json"
    "errors"
    "fmt"
    "gindemo/middleware"
    "github.com/gin-gonic/gin"
)

type User struct {
    Uid   string `json:"uid"`
    Owner string `json:"owner"`
    User  string `json:"user"`
}

type Json struct {
}


func Loadfile(c *gin.Context) {
    //接收上传文件
    file, _, err := c.Request.FormFile("json")
    if err != nil {
        return
    }
    defer file.Close()
    buf := make([]byte, 1024)
    for {
        len, _ := file.Read(buf)
        if len == 0 {
            break
        }
        b := string(buf)
        var user[] User
        //如果josn文件为数组的话,这里用user[]接收
        //如果是普通json键值对,用user接收就行
        err = json.Unmarshal([]byte(b[:len]), &user)
        if err != nil {
            fmt.Println("err = ", err)
            return
        }
        for _ ,a:=range user {
            fmt.Printf("tmp = %+v\n", a.Uid)
        }
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
cfun
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!