CherryPy Как ответить JSON?

В моем контроллере / обработчике запросов у меня есть следующий код:

def monkey(self, **kwargs): cherrypy.response.headers['Content-Type'] = "application/json" message = {"message" : "Hello World!" } return message monkey.exposed = True 

И, на мой взгляд, у меня есть этот javascript:

 $(function() { var body = document.getElementsByTagName("body")[0]; $.ajaxSetup({ scriptCharset : "utf-8", contentType: "application/json; charset=utf-8" }); $.post(" http://localhost/wsgi/raspberry/monkey ", "somePostData", function(data) { try{ var response = jQuery.parseJSON(data); body.innerHTML += "<span class='notify'>" + response + "</span>"; }catch(e){ body.innerHTML += "<span class='error'>" + e + "</span>"; } } ); }); 

И, наконец, вот моя проблема. Я не получаю ответа от JSON, и я не уверен, почему.

Во-вторых, сможет ли кто-нибудь объяснить, как форматировать данные в моем ответе контроллера / запроса-обработчика как ответ JSON самым простым способом, без использования инструментов?

2 Solutions collect form web for “CherryPy Как ответить JSON?”

Не уверен, что вы подразумеваете под «без использования инструментов» – Python – это «инструмент», правильно?

Только с Python и его стандартной библиотекой (2.6 или выше) добавьте в начало своего модуля

 import json 

и измените оператор return на

 return json.dumps(message) 

Обратите внимание, что в CherryPy 3.2 (почти сделано!) Будет пара JSON-инструментов, чтобы сделать это еще проще:

 @cherrypy.expose @tools.json_out() def monkey(self, **kwargs): return {"message": "Hello World!"} 

json_out кодирует вывод и устанавливает для вас заголовок.

  • Как я могу гарантировать, что мое регулярное выражение Python выводит словарь?
  • Фляга-Беспокойные свалки Десятичное значение от фляги-шквалы
  • Создать javascript-объект (класс) из модели django
  • Модуль json для Python преобразует ключи словаря в строки
  • Передача JSON из jQuery .getJSON в Python
  • Python json parser позволяет дублировать ключи
  • Флажок jsonify список объектов
  • Сбрасывание нескольких переменных на диск в Json. Одна переменная на строку
  •  
    Interesting Posts for Van-Lav

    интерфейс arduino python с несколькими переменными

    Django Не может назначить «u'username»: «Message.recipient» должен быть экземпляром «Пользователь»

    Как присоединиться к компонентам пути при создании URL-адреса в Python

    Полагая простую инструкцию if-then на одной строке

    Как сбросить графический интерфейс пользователя Spyder IDE (Python 2.7)?

    Проблема с установкой MPICH2 и mpi4py

    Как закодировать категориальную переменную в sklearn?

    Объект «Пользователь» не поддерживает индексирование

    Как я узнаю, что раньше я даю научиться sci-kit? (Классификаторы наивных заливов).

    Использование запросов Python для аутентификации ASP.NET

    Проверьте статус процесса и перезапустите процесс, если он не отвечает / остановлен – Python

    Разница между типом данных 'datetime64 ' и '<M8 '?

    Хороший пример Django / учебник / книга для начала?

    Повторное использование фрагмента списка для получения длины требует дополнительной памяти?

    Параметры структуры данных для эффективного хранения наборов целых пар на диске?

    Python - лучший язык программирования в мире.