【问题标题】:Python To JS Using JSON objects, decoding issuePython To JS 使用 JSON 对象,解码问题
【发布时间】:2017-03-06 08:54:58
【问题描述】:

我目前正在开发一个 python 瓶应用程序,并在 Python 中构建了一个如下所示的数组。

[{'text': 'aampm', 'size': 1}, {'text': 'absolutely', 'size': 1},...

我使用 json.dumps() 将其添加到 json 对象,然后尝试使用如下模板将值传递给前端:

return template('example',
                word_cloud = word_cloud)

在 javascript 区域中,我使用以下内容加载文件:

var cloud = JSON.parse({{word_cloud}});

但我遇到了一个问题,因为它正在返回这样的列表并将“'”替换为“””。

var cloud = JSON.parse([{"text": "aampm", "size": 1}, {"text"

我如何使它以正确的格式加载-

([{'text': 'word', 'size': 5}, {'text': 'cloud', 'size': 15}])

【问题讨论】:

  • 声明 var cloud = JSON.parse({{word_cloud}}); 是否被呈现为 Jinja2 模板的一部分?如果是这样,您可能需要使用safe 过滤器(即{{ word_cloud | safe }})对其进行过滤。
  • 这不是“正确的格式”。 JSON 使用双引号作为字符串分隔符。
  • 我正在尝试构建一个词云,它需要输入为第三个代码集中的格式 - ([{'text': 'word', 'size': 5}, {'文本':'云','大小':15}])。我正在制作一个瓶子应用程序并使用 {{value}} 传递给 javascript 部分。我试过 {{word_cloud | safe}} 并且仍然得到以下结果 - var cloud = JSON.parse([{"size": 1, "text": "aampm"}, {"size": 1,...
  • 我已将项目添加到 GitHub。它可能会让展示我在做什么以及我面临的问题变得更容易一些。 github.com/RyanKramer/TwitterAnalytics
  • 具体来说,它将在 /html/example.html 中,返回模板的代码将在 TwitterAnalytics.py 的第 271 和 272 行

标签: javascript python json bottle


【解决方案1】:

让我们重写你的代码 views.py

from django.http import JsonResponse

def your_function(request):
    result = [{'text': 'aampm', 'size': 1}, {'text': 'absolutely', 'size': 1},...
    return JsonResponse(result, safe = False, status = 200)

这将为您提供预期的响应。

【讨论】:

  • 这是一个瓶子应用程序。我不确定这是否可行,除非将应用程序重新创建为 django 应用程序。
  • 然后我完全错过了它。无论如何,如果你在 Django 中重新创建它,你可以使用它。
  • 谢谢。作为最后的手段,我可​​能会这样做,但就目前而言,我认为一旦找到实际的修复方法,这将是一个简单的修复方法:)。如果你想看看我具体在做什么,我在上面添加了 GitHub 详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2014-08-23
相关资源
最近更新 更多