2016-04-01 19 views
1

Bei der Verwendung von request.get_json() erstellt Flask eine Art dict, analysiert die Werte jedoch nicht. Zum Beispiel, wenn meine JSON-Daten {"name": "Joe", "age": "35"} sind, möchte ich Flask den age Artikel zu einem int anstelle eines str konvertieren.Wie können Flask-Nummern in POSTed JSON-Daten analysiert werden?

Wie soll ich tun?

+0

Auf die gleiche Weise, wie Sie einen anderen JSON-Decodierer verwenden, um Nummern zu analysieren: Nummern übergeben, keine Zeichenfolgen. – davidism

Antwort

2

Sie müssen nicht die 35 in Ihrem JSON zitieren, siehe hier:

import json 

d = '{"name": "Joe", "age": "35"}' 
# The loads will not convert 35 to int, because it's quoted 
json.loads(d) # {u'age': u'35', u'name': u'Joe'} 


d = '{"name": "Joe", "age": 35}' 
# The loads will convert 35 to int, because it's not quoted 
json.loads(d) # {u'age': 35, u'name': u'Joe'} 

, also Ihre Frage zu beantworten, ist es nicht Flask, dass es tut, ist es, was die JSON Sie Flask passieren ist die Schaffung .

+0

Oh, ich verstehe, dass ich die 'json.loads()' doc und Beispiele falsch verstanden habe. Aber Tatsache ist, dass ich nicht weiß, wie man eine POST-Anfrage mit jQuery macht, wo die 'Daten' keine Zeichenfolge sind ... Oder vielleicht muss ich die Nachbearbeitung machen, um das Ergebnis von' get_json () 'von mir selbst. –

+0

Nun, die POST-Anfrage mit jQuery, wo die Daten nicht s String ist, ist eine andere Frage, also posten Sie das als eine separate Frage. Der Punkt ist, dass das Problem, das Sie beheben wollen, nicht mit Flask oder Python wirklich ist ... – mikeb

Verwandte Themen