php 本身无法直接在 json 字符串字面量中解析变量(如 `{"hi":"hi $name!"}`),但可通过先构建关联数组再调用 `json_encode()` 实现动态注入,既安全又符合 json 规范。
在 PHP 中,JSON 是一种严格的数据交换格式,其语法不支持服务端变量插值(即不能像双引号字符串那样直接解析 $name)。试图手动拼接 JSON 字符串(如 "{'Hi':'Hi $name!'}")不仅易出错,更会因未转义特殊字符(如引号、反斜杠、换行符)或编码问题导致 JSON 格式非法,进而引发前端解析失败。
✅ 正确做法是:使用原生 PHP 数组组织数据,再通过 json_encode() 自动完成序列化与转义:
"Hi $name!"];
echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
// 输出:{"Hi":"Hi Alex!"}
?>该方式具备以下优势:

⚠️ 注意事项:
总结:永远优先使用 array → json_encode() 路径,而非字符串拼接 JSON —— 这是兼顾安全性、可维护性与标准合规性的唯一推荐实践。