#!/bin/bash # 测试 JSON 生成逻辑 echo "🧪 测试 Release JSON 生成" echo "================================" # 模拟提取的内容 VERSION="v1.0.3" RELEASE_TITLE="重大功能:停止生成 & UI 优化" TAG_MESSAGE="发布时间: 2025-10-15 ### 🎯 重大功能:停止生成 & UI 优化 本版本实现了完整的停止生成功能。 #### ✨ 核心功能 **⏸️ 智能停止生成** - 点击停止按钮立即中断 AI 回复 - 保留已生成的内容" echo "📝 版本号: $VERSION" echo "📌 标题: $RELEASE_TITLE" echo "" # 方法1:使用 jq -R -s(会导致 \n 转义) echo "❌ 方法1 (有问题的):" JSON_BAD=$(echo "$TAG_MESSAGE" | jq -R -s -c \ --arg version "$VERSION" \ --arg title "$VERSION - $RELEASE_TITLE" \ '{ tag_name: $version, name: $title, body: ., draft: false, prerelease: false }') echo "$JSON_BAD" | jq -r '.body' | head -n 5 echo "" # 方法2:使用 --arg(正确的) echo "✅ 方法2 (正确的):" JSON_GOOD=$(jq -n -c \ --arg version "$VERSION" \ --arg title "$VERSION - $RELEASE_TITLE" \ --arg body "$TAG_MESSAGE" \ '{ tag_name: $version, name: $title, body: $body, draft: false, prerelease: false }') echo "$JSON_GOOD" | jq -r '.body' | head -n 5 echo "" echo "🔍 比较:" echo "方法1 body 长度: $(echo "$JSON_BAD" | jq -r '.body' | wc -c)" echo "方法2 body 长度: $(echo "$JSON_GOOD" | jq -r '.body' | wc -c)" echo "" echo "📋 完整的 JSON (方法2):" echo "$JSON_GOOD" | jq '.'