Skip to content

Instantly share code, notes, and snippets.

Created October 25, 2012 13:53
Show Gist options
  • Save johnschimmel/3952666 to your computer and use it in GitHub Desktop.
Save johnschimmel/3952666 to your computer and use it in GitHub Desktop.
Sample of Flask receiving JSON
# If /json route receives header "application/json"
@app.route("/json", methods=['GET','POST'])
def json():
app.logger.debug("JSON received...")
if request.json:
mydata = request.json # will be
return "Thanks. Your age is %s" % mydata.get("age")
return "no json received"
Copy link

I copied this directly and I still get None for mydata in the browser. The app.debug.log, however, definitely receives the json.

Copy link

Ddfulton write {"age":"9"} in the body of JSON.. then it will display 9 instead of none

Copy link

this might work better

mydata = request.get_json(force=True)

Copy link

I don't know what I'm doing wrong here:
`var query = JSON.stringify({"City": "Iasi", "Option": "kebab"});

function post_query(query) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log("In the if statement! status ok!");
document.getElementById("results").innerHTML = this.responseText;
};"POST", "/listari", true);
console.log("query sent");


@app.route('/listari', methods=['POST'])
def listings():
print('query arrived in /listari, ok!')
bin_data =
mydata = request.get_json(force=True)
print('Here >>>',bin_data, type(bin_data))
return "Raspuns din flask: {}".format(bin_data)

Work randomly...Do you have any ideas?

Copy link

mre commented Jan 15, 2019

Just in case people are having problems using this code, your request content type needs to be application/json. Otherwise you get None as the parsed value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment