Flask Academy · Oppitunti

JSON-bodyn lukeminen request.get_jsonilla

Jäsennä API-clientien lähettämät JSON-sisällöt.

Oppitunti 3/413 vaihetta

JSON-bodyn lukeminen request.get_jsonilla on ilmainen Flask Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Flask Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Flask Academy-kurssilla on yhteensä 4 oppituntia.

API:t puhuvat JSONia

Nykyaikaiset asiakkaat lähettävät usein JSON-rungon lomakekenttien sijaan, joten tarvitsette Flaskissa toisen tavan kuorman lukemiseen.

Kutsukaa request.get_json-metodia

Käyttäkää request.get_json-metodia, jolloin Flask jäsentää raakadatan JSON-rungon tavalliseksi Python-sanakirjaksi, jota voitte käsitellä suoraan.

data = request.get_json()

Saatte Pythonin alkuperäiset tyypit

Jäsentämisen jälkeen käytössänne ovat aidot Pythonin types-tyypit: sanakirjat, listat, kokonaisluvut ja totuusarvot, joten merkkijonoja ei tarvitse muuntaa käsin.

price = data["price"]  # already a number

Lukekaa avaimet turvallisesti

Jäsennetty runko on sanakirja, joten käyttäkää siinä .get-metodia välttääksenne KeyError-virheen, jos odotettu kenttä puuttuu kuormasta.

name = data.get("name")

Content-Typen on oltava JSON

Oletusarvoisesti Flask jäsentää rungon vain, kun pyyntö sisältää application/json-sisältötyypin otsakkeen.

Pakottakaa jäsentäminen forcella

Jos asiakas unohtaa otsakkeen, välittäkää force=True, jotta get_json jäsentää rungon silti sen sijaan, että palauttaisi None-arvon.

data = request.get_json(force=True)

Hiljentäkää virheet silentilla

Virheellinen tai tyhjä JSON aiheuttaa tavallisesti 400-virheen. Välittäkää silent=True, jotta saatte None-arvon ja voitte käsitellä tilanteen itse.

data = request.get_json(silent=True)

Nopea totuusarvotarkistus: is_json

Haarautukaa ensin request.is_json-arvon perusteella varmistaaksenne, että asiakas todella lähetti JSONia ennen rungon jäsentämistä.

if request.is_json:
    data = request.get_json()

Validoikaa ennen luottamista

Jäsennetty runko on edelleen untrusted-syötettä. Tarkistakaa pakolliset avaimet ja tyypit itse ennen tietojen tallentamista tietokantaan.

if "email" not in data:
    abort(400)

Vastatkaa myös JSONilla

Yhdistäkää syötteen jäsentäminen jsonify-toimintoon, jotta API lukee ja palauttaa siistiä JSONia yhdessä selkeässä käsittelijässä.

from flask import jsonify
return jsonify(ok=True)

Käyttäjän luova päätepiste

Kokonaisuus on selkeä: lukekaa JSON-runko, poimikaa kenttä ja palauttakaa JSON-vastaus, joka vahvistaa vastaanotetut tiedot.

@app.route("/users", methods=["POST"])
def create():
    data = request.get_json()
    return jsonify(name=data["name"])

Pikatarkistus

Varmistakaa, miten Flask käsittelee JSON-kuormia.

Kertaus: JSON-rungot

Jäsensitte JSONin request.get_json-menetelmällä, hallitsitte force- ja silent-asetuksia, tarkistitte is_json-arvon ja validoitte syötteen ennen kuin luotitte siihen. 🎯

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”JSON-bodyn lukeminen request.get_jsonilla” ilmainen?

Kyllä – oppitunnin ”JSON-bodyn lukeminen request.get_jsonilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Flask Academy-kurssin, päivitä CoddyKit PROhon. Flask Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”JSON-bodyn lukeminen request.get_jsonilla”?

Jäsennä API-clientien lähettämät JSON-sisällöt. Harjoittelet Flask Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Flask Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Flask Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”JSON-bodyn lukeminen request.get_jsonilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Flask Academy-oppitunnilla?

Kyllä. Jokainen Flask Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Query-merkkijonot request.argsilla
  2. Lomakekentät request.formilla
  3. JSON-bodyn lukeminen request.get_jsonilla
  4. Otsakkeet, evästeet ja clientin IP
← Takaisin: Flask Academy