如何使用 unicode 从 python 服务解析 JSON? SyntaxError: Unexpected token u
Posted
技术标签:
【中文标题】如何使用 unicode 从 python 服务解析 JSON? SyntaxError: Unexpected token u【英文标题】:How to parse JSON from python service with unicode? SyntaxError: Unexpected token u 【发布时间】:2015-03-19 17:34:09 【问题描述】:我正在使用 Angular js 从 http://pythond3jsmashup.appspot.com/chart 加载 json
$http.get('http://pythond3jsmashup.appspot.com/chart');
我从一个如何使用 python (http://code.tutsplus.com/tutorials/data-visualization-app-using-gae-python-d3js-and-google-bigquery--cms-22175) 将 Google BigQuery 数据作为服务获取的示例中获得了这项服务。
Angular 使用 unicode 解析 json 有问题。 Angular有什么办法解决这个问题,还是你必须修改你的python来省略unicode字符?
我正在使用角度 1.3
angular.js:11607 SyntaxError: Unexpected token u 我可以看到它在 JSON.parse 中失败了
从 python 服务返回的数据看起来像这样:
u'kind': u'bigquery#queryResponse', u'rows': [u'f': [u'v': u'brave'], u'f': [u'v': u'forfeits'], u'f': [u'v': u'holding'], u'f': [u'v': u'profession'], u'f': [u'v': u'Condemn'], u'f': [u'v': u"fear'st"], u'f': [u'v': u'answered'], u'f': [u'v': u'religion'], u'f': [u'v': u"你是"], u'f': [u'v': u'deputy'], u'f': [u'v': u'heed'] , u'f': [u'v': u'generation'], u'f': [u'v': u'Boldly'], u'f': [u'v': u"'"], u'f': [u'v': u'told'], u'f': [u'v': u'answer'], u'f': [u'v': u'regard'], u'f': [u'v': u'Touching'], u'f': [u'v': u'meet'], u'f': [u'v': u"o'er"] , u'f': [u'v': u'dawn'], u'f': [u'v': u'authorities'], u'f': [u'v': u'Mended'], u'f': [u'v': u'quality'], u'f': [u'v': u'lusty'], u'f': [u'v': u'forbid'], u'f': [u'v': u'instruments'], u'f': [u'v': u'A'], u'f': [u'v': u'dreadfully'], u'f': [u'v': u'accordingly'], u'f': [u'v':
【问题讨论】:
【参考方案1】:Angular 使用 unicode 解析 json 有问题。
不,问题是服务确实返回了
u'kind': u'bigquery#queryResponse', ...`.
这不是 JSON。在 之后的
u
是无效的(这是错误告诉你的)。简单证明:
> JSON.parse("u'foo': 'bar'");
Uncaught SyntaxError: Unexpected token u
无论你做什么,你都没有正确地创建响应。使用json.dumps
。
鉴于链接教程声称响应是 JSON 的事实表明它可能不是一个好的教程。
但是,如果您继续按照教程进行操作,您将看到在 third part 中返回正确的 JSON。
【讨论】:
我尝试使用正在阅读的教程中的数据。应该提前看到他们将输出修改为 JSON。想知道 Angular js 中是否有一些“魔法”解析器,但感谢您声明没有。以上是关于如何使用 unicode 从 python 服务解析 JSON? SyntaxError: Unexpected token u的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQLAPI++ 从 SQL 服务器读取 unicode 字符?
如何从python中的unicode字符串中删除除数字和“,”之外的所有字符?
我如何以python不将数据解释为unicode的方式编写它?