如何使用unicode解析python服务中的JSON?SyntaxError:意外的令牌u

Reb*_*ltz 1 python unicode json angularjs google-bigquery

我正在使用angular js 从http://pythond3jsmashup.appspot.com/chart加载json

$http.get('http://pythond3jsmashup.appspot.com/chart');
Run Code Online (Sandbox Code Playgroud)

我从一个如何使用python将Google BigQuery数据作为服务获取的示例中获得了此服务(http://code.tutsplus.com/tutorials/data-visualization-app-using-gae-python-d3js-and-google -bigquery - cms-22175).

Angular在使用unicode的json解析时遇到问题.有没有任何解决方法与Angular,或者你是否必须修改你的python以省略unicode字符?

我正在使用角度1.3

angular.js:11607语法错误:意外的令牌我可以看到它在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'f':[{u'v':你'代理}}}},{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':

Fel*_*ing 5

Angular在使用unicode的json解析时遇到问题.

不,问题在于服务确实会返回

{u'kind': u'bigquery#queryResponse', ...}`. 
Run Code Online (Sandbox Code Playgroud)

哪个不是JSON.这u之后的权利{是无效的(这是什么错误告诉你).简单证明:

> JSON.parse("{u'foo': 'bar'}");
Uncaught SyntaxError: Unexpected token u
Run Code Online (Sandbox Code Playgroud)

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


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

但是,如果您继续按照教程进行操作,您将看到第三部分返回正确的JSON .