首頁 > web前端 > js教程 > 從 Jinja 範本渲染 JSON 資料時,為什麼 JSON.parse 會失敗並出現「SyntaxError: Unexpected token '&'」?

從 Jinja 範本渲染 JSON 資料時,為什麼 JSON.parse 會失敗並出現「SyntaxError: Unexpected token '&'」?

DDD
發布: 2024-12-29 12:26:17
原創
1005 人瀏覽過

Why Does JSON.parse Fail with a

從Jinja 範本渲染JSON 資料時出現JavaScript 語法錯誤

問題描述

當嘗試使用JavaScript 迭代渲染Jinja 範本中的JSON 資料範本中的JSON ,瀏覽器拋出“SyntaxError: Unexpected token '&'”錯誤。對渲染的資料呼叫 JSON.parse 時會出現此問題。

解決方案

Flask 的模板轉義

Flask 的 Jinja 環境對模板中渲染的資料套用自動 HTML 轉義以降低安全性風險。但是,這種轉義可能會幹擾將資料解釋為 JSON。

Flask 提供了 tojson 過濾器來解決此問題。它將 Python 物件轉換為 JSON 並將其標記為安全渲染。

在模板中:

非 JSON 渲染

如果資料是不適合 JavaScript 使用,因此不需要 tojson 過濾器。考慮直接傳遞 Python 資料並根據需要在模板中使用它。

在範本中:

停用轉義

如果不需要轉義並且您已經將JSON 資料作為字串,您可以使用安全過濾器停用轉義或標記。

使用安全過濾器:

在模板中:

使用標記:

在範本:

以上是從 Jinja 範本渲染 JSON 資料時,為什麼 JSON.parse 會失敗並出現「SyntaxError: Unexpected token '&'」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板