【问题标题】:Remove u' infront of my JSON data删除我的 JSON 数据前面的 u'
【发布时间】:2013-03-19 05:14:26
【问题描述】:

我是 python 新手,我的所有 JSON 数据似乎都与 u' 前缀组合在一起:

{u'number': u'12345666', u"items"...}

我不需要这些数据(unicode 或其他),因为我想将 字符串 打印到 Javascript 变量中:

var obj = data; // data is the object above.

我的 python 看起来像这样;

index.html:
var obj = ${data};

我正在使用 moko 框架进行模板。

// getitems() return {'number':'12312...}
context = {'data': getitems(self)}
self.render_response('index.html',**context)

处理后的 javascript 输出数据如下所示:

var obj = {u'number': u'12345666', u"items"...} 

这是我的问题。

【问题讨论】:

  • 您将 JSON 与打印字典混淆了。
  • 您不想删除u'',这仅表明您正在查看 unicode 字符串。您的模板代码将处理 JSON,前提是您首先编码为 JSON
  • +1:就因为我不知道为什么这个问题有这么多反对票?
  • @freakish 我不明白。他们希望每个人都被期待,而新来的人被简单地投反对票。
  • @CezarisLT - 我不关心专业,我关心沟通。在这种情况下,我不知道你在说什么。 (“诱人”和“procced”同上。我不得不猜测你的意思。)

标签: javascript python json


【解决方案1】:

问题是您正在将字典转换为字符串(可能 Mako 为您做了str(...))。但是你应该 jsonify 它,即

import json
context = { 'data': json.dumps(getitems(self)) }

【讨论】:

  • 谢谢,这个网站需要像你这样的人。
  • 有干净的javascript解决方案吗?我遇到了同样的问题,但我正在使用外部 API 来获取数据。我无法访问它的代码,所以我需要在 javascript 前端解决这个问题。
  • @FrancisA 不,你需要一个 Python 解析器或至少它的一部分。 JS AFAIK 没有这样的工具。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2013-05-27
  • 1970-01-01
  • 2011-07-15
  • 2021-10-02
  • 1970-01-01
  • 2017-11-12
相关资源
最近更新 更多