1. 程式人生 > >219-json檔案匯入mysql

219-json檔案匯入mysql






json檔案匯入mysql


一個頭疼的問題
解決了很久
我現在有一個data.json
裡面有很多的資料,這個data.json是utf8的
匯入資料庫後也是顯示正常的
但是讀取出來返回到客戶端
就亂碼了


其實我覺得可能是我客戶端的問題
但是我客戶端請求也是utf8的
拿到的response也是utf8的

我也不知道到底是什麼問題



所以我最終只能想了一個辦法
就是用程式碼把data.json都讀取出來
儲存到資料庫中



func (this *RootController) HandleData() {

	//開啟data.json檔案
	file, err := os.Open("./static/data/data.json")
	defer file.Close()
	if err != nil {
		this.Ctx.WriteString("fail-" + err.Error())
		return
	}

	//建立一個位元組切片[]byte
	bytes := make([]byte, 100*1024)

	//將資料讀取到切片中
	num, err := file.Read(bytes)
	if err != nil {
		this.Ctx.WriteString("fail-" + err.Error())
		return
	}

	//定義一個Comment切片
	var oldComments []models.OldComment

	//將位元組切片中的資料反序列化到comments切片中
	json.Unmarshal(bytes[:num], &oldComments)

	//建立orm物件
	o := orm.NewOrm()

	//開啟事務
	o.Begin()

	//遍歷切片,將cmt插入到資料庫
	for i := 0; i < len(oldComments); i++ {
		cmt := oldComments[i]

		var comment models.Comment
		comment.Name = cmt.User
		comment.Content = cmt.Content

		time := time.Now().Format("2006-01-02 15:04:05")
		comment.Time = time
		comment.Reply = 0
		o.Insert(&comment)
	}

	//提交事務
	o.Commit()

	this.Ctx.WriteString("ok")
}