【问题标题】:Decoding JSON data saved in a database column解码保存在数据库列中的 JSON 数据
【发布时间】:2014-04-17 17:29:01
【问题描述】:

当我直接以 HTML 格式解析保存在数据库中的 JSON 数据时,我得到了一些乱七八糟的字符,基本上看起来是经过编码的?

以下是 HTML 文件中的示例:

'{"web_rendition":{"@xmlns":"","content":

我如何编码这种混乱或将其加载到 JSON 对象中?

查看类:

    content = Cond.objects.get(pk=pk).con_con.con_chron
    context['new_content'] = content
    return context

我的模板:

<script>
content = "{{new_content}}";
</script>

【问题讨论】:

  • 字符串开头有一个奇怪的不可见字符。另外,为什么引用使 HTML 编码?
  • 菲利克斯,我不知道。该字符串直接通过 Django 过滤器解析到视图中。可能需要先序列化?
  • 在解析 _.unescapeHTML(content) 和 JSON.parse 结果之前使用类似下划线/下划线字符串的内容并取消转义 html。
  • 您应该显示输出该 JS 的模板。
  • @DanielRoseman,视图类?

标签: javascript json django


【解决方案1】:

如果在模板层发生这种情况,您可能需要一个“安全”过滤器来防止它被这样编码。

content = "{% my_json_variable|safe %}"

safe filter in django docs

【讨论】:

  • 非常接近,现在它的编码正确,但开头的点仍然存在。我检查了我的数据库内容,但在任何行中都找不到这个点。
  • 哦,等一下。我实际上发现了几行包含ďťż,这显然是标记。我需要以某种方式过滤掉它。
  • 我运行了 shell 并从我的数据库中解析了元素。一开始我得到一个u'\ufeff char。
猜你喜欢
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 1970-01-01
相关资源
最近更新 更多