You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Amplify传入Swift的字符串Markdown无法正常显示问题

解决AWS Amplify传输后Swift Markdown换行不生效的问题

核心问题原因

AWS Amplify传输文本时,可能把换行符\n转义成了字符串形式的\\n(即反斜杠+n两个字符),而Swift的AttributedString(markdown:)只识别实际的换行符\n,导致原本的换行无法生效。本地JSON文件中的\n会被Swift的JSON解析器自动转换成实际换行符,所以本地测试时显示正常。

解决步骤

  1. 验证转义问题
    打印Amplify返回的article.body,查看输出是否包含\\n而非\n,确认换行符是否被转义。

  2. 手动还原换行符
    对返回的字符串做替换处理,将\\n替换为实际的\n后再传入Markdown解析:

// 处理转义的换行符
let processedBody = article.body?.replacingOccurrences(of: "\\n", with: "\n") ?? "Body"

// 安全解析Markdown(避免try!引发崩溃)
var attributedContent = AttributedString("Body")
do {
    attributedContent = try AttributedString(markdown: processedBody)
} catch {
    print("Markdown解析失败: \(error)")
}

Text(attributedContent)
  1. 额外注意事项
  • 不要使用try!,若文本包含无效Markdown语法会直接崩溃,用do-catch处理更稳妥。
  • 如果还有其他转义字符(比如\\t制表符),可以按同样逻辑添加替换规则。

内容的提问来源于stack exchange,提问作者gavido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 10:18:19