本文详解如何将动态生成的 html 内容(如表格)作为字符串字段正确编码进 json,避免转义错误、非法字符和 sql 注入风险,并提供完整、安全、可验证的实现方案。
在 Web 开发中,常需将 HTML 片段(如患者信息表)作为字符串字段嵌入 JSON 响应返回给前端(例如用于动态渲染或第三方 API 集成)。但直接拼接字符串再手动包裹 JSON 结构(如 ‘{“entities”: ‘ . $json . ‘}’)极易导致格式错误——正如问题中所示:HTML 中的换行符(\r\n)、斜杠(/)、引号及未转义的 符号会破坏 JSON 合法性,使 jsonformatter 报错,且前端 JSON.parse() 失败。
根本原因在于:JSON 必须严格遵循规范,所有字符串值(包括含 HTML 的字符串)必须由 json_encode() 统一处理,而非人工拼接。 PHP 的 json_encode() 会自动对特殊字符(如 “, \, /, 控制符等)进行标准转义,并确保 UTF-8 编码安全,这是任何字符串插值都无法替代的。
✅ 正确做法:全程使用 json_encode() 构建嵌套结构: