json unicode to string所以我可以在django html页面中使用它

时间:2014-07-09 01:52:43

标签: python json django unicode

已编辑:

有人告诉我如何解码unicode。我只想将json unicode打印到我开发的html页面中。我从heroku api得到了api。

我几乎正确地遵循了每一步。但输出是unicode,我不知道如何提取内容并显示到我的页面。

我需要打印内容。怎么做 ?

my views.py

template_vars['kural'] = json.dumps(thirukural[x])
        t = loader.get_template('index.html')
        c = Context(template_vars)
        #pprint.pprint(c)

        return HttpResponse(t.render(c))

Html Page

  <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head><body>

<p id="p"></p>

<script type="text/javascript">
var t = {{kural|safe}}
var text = eval(t);
var p = document.getElementById("p");
p.innerHTML=t.kural;
</script>
</body></html>
</body>
</html>

目前这样打印

யாதனின் யாதனின் நீங்கியான் நோதல் அதனின் அதனின் இலன்.

但在heroku api页面中,样本输出打印如下

  {
  "id": "213",
  "kural": "புத்தே ளுலகத்தும் ஈண்டும் பெறலரிதே\n\nஒப்புரவின் நல்ல பிற."
  }

您可以看到我的输出没有line breaks that \n。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我相信您要做的就是将您展示的观看代码的第一行更改为:

template_vars['kural'] = thirukural[x].encode('ascii', 'xmlcharrefreplace')

这应该将所有内容都改为HTML实体,最终会看起来像这样:

'&#2953;&#2994;&#2965;&#2990;&#3021; &#2980;&#2996;&#3008;&#2951;&#2991; &#2980;&#3018;&#2975;&#3021;&#2986;&#2990;&#3021; &#2990;&#2994;&#2992;&#3021;&#2980;&#2994;&#3009;&#2990;&#3021;\n\n&#2965;&#3010;&#2990;&#3021;&#2986;&#2994;&#3009;&#2990;&#3021; &#2951;&#2994;&#3021;&#2994; &#2980;&#2993;&#3007;&#2997;&#3009;.'

答案 1 :(得分:0)

kural变量是一个字典,如果你想在视图中显示kural,我认为你需要json。

import json
template_vars['kural'] = json.dumps(thirukural[x])