golang JSON to CVS

使用插件json2csv

  • 在使用过程中遇到JSON转CSV格式问题,解析内嵌式数据结构是一件非常头疼的事,就找到了一个自动解析的库
  • 仓库地址:https://github.com/jehiah/json2csv
	results, err := json2csv.JSON2CSV(data)
	if err != nil {
		log.Fatal(err)
	}
	if len(results) == 0 {
		return
	}
	bytesBuffer := &bytes.Buffer{}
	bytesBuffer.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM,避免使用Microsoft Excel打开乱码
	err = printCSV(bytesBuffer, results)
	if err != nil {
		log.Fatal(err)
	}
	// 设置下载的文件名
	c.Writer.Header().Set("Content-Disposition", "attachment;filename=test.csv")
	// 设置文件类型以及输出数据
	c.Data(http.StatusOK, "text/csv", bytesBuffer.Bytes())
func printCSV(w io.Writer, results []json2csv.KeyValue) error {
	csv := json2csv.NewCSVWriter(w)
	if err := csv.WriteCSV(results); err != nil {
		return err
	}
	return nil
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值