fix:修复竞品报告json反序列化有符号导致错误

This commit is contained in:
cjy 2026-03-02 14:27:43 +08:00
parent ad4c74639f
commit 1b7e105164

View File

@ -132,11 +132,16 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe
// 解析 JSON 数据
var competitorReportData utils.CompetitorReportData
zap.L().Info("reportData内容", zap.String("reportData", reportData))
if err := json.Unmarshal([]byte(reportData), &competitorReportData); err != nil {
zap.L().Error("解析竞品报告数据失败", zap.String("reportData", reportData), zap.Error(err))
// 处理双重编码问题:替换中文引号为英文引号
processedReportData := strings.ReplaceAll(reportData, "”", "\"")
processedReportData = strings.ReplaceAll(processedReportData, "“", "\"")
if err := json.Unmarshal([]byte(processedReportData), &competitorReportData); err != nil {
zap.L().Error("解析竞品报告数据失败", zap.String("reportData", processedReportData), zap.Error(err))
// 尝试打印更详细的错误信息
zap.L().Error("详细错误", zap.Error(err))
return nil, errors.New("竞品报告数据格式错误: " + err.Error())
return nil, errors.New("竞品报告数据格式错误")
}
zap.L().Info("解析成功", zap.Any("competitorReportData", competitorReportData))