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 协议》,转载必须注明作者和本文链接