2010-10-30 9 views
14


Ho bisogno di ottenere dati da JSON, trasferiti da ajax dal client. Fondamentalmente ho usato qualcosa di simile:Come gestire la richiesta JSON in bottiglia?

@route('/ajax') 
def serve_ajax(): 
    return main.parse_request(json.dumps(dict(request.GET))) 

Dove main.parse_request è una funzione, che contiene alcune logiche a che fare con le variabili in JSON (si tratta di una procedura principale del nostro motore di gioco).

Quindi il problema è che non riesco a gestire correttamente i vars JSON, trasformando request.GET in un dettato: perché in un modo, che ho già scritto, non posso passare oggetti e matrici nidificate, anche ogni valore ha una stringa digita, mentre ho bisogno di avere tipi interi su numeri interi e tipo stringa su altri.

Oppure, poiché è possibile ottenere la stringa di query originale (da request.query_string), come posso convertire la stringa di query nell'oggetto JSON originale?

risposta

21

Ora, poiché la bottiglia 0,10, il request.json è pronto per l'uso :)

documento è here.

17

request.json è limitato da MEMFILE_MAX.

Un altro modo in cui funziona se la richiesta dei dati è più grande di MEMFILE_MAX

json.load(request.body)