Como posso lidar com uma solicitação JSON na Garrafa?
Pergunta
Eu precisa para obter dados de JSON, transferidos pelo Ajax do cliente.Basicamente, eu usei algo parecido com isto:
@route('/ajax')
def serve_ajax():
return main.parse_request(json.dumps(dict(request.GET)))
Onde o principal.parse_request é uma função, que contém algumas lógicas para lidar com as variáveis em JSON (é um procedimento principal do nosso motor de jogo).
Portanto, o problema é que eu não posso lidar corretamente com JSON variáveis, transformando request.GET
em um dict:porque de uma maneira que eu já escrevi que eu não posso passar objetos aninhados e matrizes.Também cada valor tem um tipo de seqüência de caracteres, enquanto eu preciso ter tipos inteiros em inteiros e tipo de seqüência de caracteres no resto com os outros.
Ou, desde que eu possa obter o original seqüência de caracteres de consulta (por request.query_string
), como posso converter uma seqüência de caracteres de consulta em um original objeto JSON?
Solução
Agora, uma vez que a garrafa 0.10, o request.json
é pronto para usar :)
Documento é aqui.
Outras dicas
pedido.json é limitado pelo MEMFILE_MAX.
Outra forma funciona se de pedido de dados é maior do que MEMFILE_MAX
json.load(request.body)