做的時候挺難的感覺,做出來就覺得很容易…..
直接選取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 協議》,轉載必須註明作者和本文連結