Как обрабатывать JSON-запрос в Bottle?

Мне нужно получить данные из 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 ),

Как лучше всего это сделать? (Желательно через гемы Mongoid или Mongo-mapper)

Спасибо

15
задан Boris 30 October 2010 в 10:52
поделиться