How to parse JSON from python service with unicode? SyntaxError: Unexpected token u

How to parse JSON from python service with unicode? SyntaxError: Unexpected token u

我正在使用 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 字符?

我正在使用 angular 1.3

angular.js:11607 SyntaxError: Unexpected token u I can see it's failing at 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"You're"}]}, {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':

Angular has a problem with the json parse with unicode.

不是,问题是服务字面意思returns

{u'kind': u'bigquery#queryResponse', ...}`. 

这不是 JSON。 { 之后的 u 无效(这是错误告诉您的内容)。简单证明:

> JSON.parse("{u'foo': 'bar'}");
Uncaught SyntaxError: Unexpected token u

无论你做什么,你都没有正确地创建响应。使用 json.dumps.


鉴于链接教程声称响应是 JSON 这一事实表明它可能不是一个好的教程。

但是,如果您继续按照教程进行操作,您将看到 third part.

中 return 正确的 JSON