ホームページ >バックエンド開発 >Python チュートリアル >データを Flask から JavaScript に渡すときに JSON 構文エラーを回避するにはどうすればよいですか?
Flask から JavaScript へのデータの受け渡し: JSON 構文エラーの処理
Flask ルートから Jinja テンプレートに JSON データを渡そうとした場合、レンダリングされたデータに対して JSON.parse を呼び出すときに SyntaxError が発生する可能性があります。このエラーは通常、レンダリング中に JSON 文字がエスケープされるときに発生します。
この問題に対処するために、Flask は tojson フィルターを提供します。データに適用すると、Python オブジェクトが自動的に JSON にダンプされ、レンダリングしても安全であるとマークされます。
例を次に示します:
return render_template('tree.html', tree=tree)
<script> var tree = {{ tree|tojson }}; </script>
特殊な場合のフィルター
JSON がすでに文字列にダンプされている場合は、 安全 フィルターするか、レンダリング前に文字列を マークアップ でラップします。
return render_template('tree.html', tree=json.dumps(tree))
<script> var tree = {{ tree|safe }}; </script>
Jinja 使用法の代替アプローチ
データを JavaScript に渡さずに Jinja で直接操作している場合は、次の必要はありません。 JSON。 tojson.
return render_template('tree.html', tree=tree)を呼び出さずに、実際の Python データを渡すだけです。
以上がデータを Flask から JavaScript に渡すときに JSON 構文エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。