json - 使用换行符渲染 json 数据flask/jinja2

标签 json flask jinja2

我希望 Flask 使用包含换行符的 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

最佳答案

在写这个问题时,我尝试了更多的组合,并找到了一个有效的组合。

example = json.dumps({'blabla': 'what\'s up\n\nnot much'})
JSON.parse({{ some_json_data | tojson }})

关于json - 使用换行符渲染 json 数据flask/jinja2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50453534/

相关文章:

deployment - 503 服务在 Openshift Flask 应用程序中暂时不可用

Python Flask 400 Bad Request 每个请求都会出错

python - 如何在 Django 1.8 中使用 jinja2 作为模板引擎

python - 找不到 jinja2 模板和内部服务器错误

python - pycurl 只得到部分响应

python - 使用 python pandas 处理包含嵌套 json 的列

javascript - 在 angularjs 中解析深层 JSON 对象

python - 如何在 Python 中使用签名 URL 上传到 Google 存储桶?

python - 谷歌应用引擎 python for 循环计数器

Java-根据键值处理Json数组