我想要烧瓶使用包含换行符的json渲染模板。但是,JSON.parse()
会引发错误。我想找到处理这类信息的最佳方法。
迷你样品申请:
from flask import Flask, render_template_string
import json
app = Flask(__name__)
@app.route('/')
def index():
example = {'blabla': 'what\'s up\n\nnot much'}
return render_template_string('''<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<script>
JSON.parse('{{ some_json_data | tojson }}')
</script>
</body>
</html>
''', some_json_data=example)
到目前为止我尝试过的组合:
example = {'blabla': 'oh no\n\n'}
JSON.parse('{{ some_json_data | tojson }}')
SyntaxError: JSON.parse: bad control character in string literal at line 1 column 22 of the JSON data
example = {'blabla': 'oh no\n\n'}
JSON.parse('{{ some_json_data | tojson(indent=4) }}')
SyntaxError: '' string literal contains an unescaped line break
example = json.dumps({'blabla': 'what\'s up\n\nnot much'})
JSON.parse('{{ some_json_data }}')
SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data
example = json.dumps({'blabla': 'what\'s up\n\nnot much'})
JSON.parse('{{ some_json_data | safe }}')
SyntaxError: missing ) after argument list
答案 0 :(得分:0)
在写这个问题时,我尝试了更多的组合,找到了一个有效的方法。
example = json.dumps({'blabla': 'what\'s up\n\nnot much'})
JSON.parse({{ some_json_data | tojson }})