удаление символа `u` в выводе python

Я создаю форму, и когда я нажимаю кнопку отправки, я назначаю значение 3 в javascript dict и отправляю его на скрипт python для обработки, но мой веб-браузер сообщает мне об ошибке!

от ошибки Json: {u'food ': 90, u'cargo': 70, u'fuel ': 50} SyntaxError

controller.js

function customiseCtrl($xhr){ var self = this; checkPoint(); this.process = function(){ if (checkPoint()){ var newPlayer = {"fuel":value, "food":value2, "cargo":value3 }; $xhr('POST', '/process', newPlayer, function (code, response) { self.x = response; }); } }; } 

/ process -> python (я пытаюсь прочитать информацию «info» и записать ее в движок Google.

 def post(self): user = users.get_current_user() player = Player(); info = json.loads(self.request.body) player.fuel = info.fuel self.response.out.write(info) 

При печати пиктограммы Python во многих случаях не будет генерировать действительный JSON. Вам нужен модуль json :

 import json # ... snip ... self.response.out.write(json.dumps(info)) # or json.dump(info, self.response.out) 

Проблема не в JavaScript (по вашему первоначальному названию), это в выходе JSON. Вам нужно вывести правильно отформатированный JSON , который, если он выглядит как {u'food': 90, u'cargo': 70, u'fuel': 50} , self.response.out.write(info) is not делает. ( jsonlint.com удобен для проверки текста JSON.)

Я не очень люблю python-head (на самом деле, я вообще не голова python), но я думаю, что вы хотите заменить

 self.response.out.write(info) 

с

 json.dump(info, self.response) 

.. или аналогично (вышеупомянутое предполагает, что self.response является «… .write() -поддерживающим .write() объект …» ) на основе этой ссылки .