Как я могу обрабатывать запрос JSON в бутылке?
Вопрос
Мне нужно получить данные от JSON, передаваемой AJAX от клиента. В основном я использовал что-то вроде этого:
@route('/ajax')
def serve_ajax():
return main.parse_request(json.dumps(dict(request.GET)))
Где main.parse_request - это функция, которая содержит некоторые логики для решения переменных в JSON (это основная процедура нашего игрового движка).
Таким образом, проблема в том, что я не могу правильно обрабатывать переменные JSON, преобразовав request.GET
В Dict: потому что таким образом, что я уже писал, я не могу пройти вложенные объекты и массивы. Также каждое значение имеет тип строки, в то время как мне необходимо иметь целочисленные типы на целых числах и типах строки на остальных.
Или, поскольку я могу получить исходную строку запроса (по request.query_string
), как я могу преобразовать строку запроса в оригинальный объект JSON?
Решение
Сейчас с бутылки 0.10, то request.json
готов к использованию :)
Документ здесь.
Другие советы
request.json. ограничен Memfile_max..
Другой способ работает, если данные запроса больше memfile_max
json.load(request.body)