Flask Academy · 课时

通过 request.get_json 读取 JSON 正文

解析 API 客户端发送的 JSON 负载

第 3 / 4 课13 个步骤

通过 request.get_json 读取 JSON 正文 是 CoddyKit 上的免费 Flask Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Flask Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Flask Academy 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

APIs Speak JSON

Modern clients often send a JSON body instead of form fields, so you need a different way to read the payload in Flask.

Call request.get_json

Use request.get_json and Flask parses the raw JSON body into a regular Python dict you can work with directly.

data = request.get_json()

You Get Native Python Types

After parsing you have real Python types: dicts, lists, ints, and booleans, so no manual string conversion is needed.

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

Read Keys Safely

The parsed body is a dict, so reach for .get on it to avoid KeyError when an expected field is absent from the payload.

name = data.get("name")

The Content-Type Must Be JSON

By default Flask only parses the body when the request carries a application/json content type header.

Force Parsing With force

If a client forgets the header, pass force=True so get_json parses the body anyway instead of returning None.

data = request.get_json(force=True)

Silence Errors With silent

Bad or empty JSON normally raises a 400. Pass silent=True to get None back so you can handle it on your own terms.

data = request.get_json(silent=True)

Quick Truthy Check: is_json

Branch on request.is_json first to confirm the client actually sent JSON before you try to parse the body.

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

Validate Before You Trust It

A parsed body is still untrusted input. Check required keys and types yourself before saving anything to your database.

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

Reply With JSON Too

Pair input parsing with jsonify so your API both reads and returns clean JSON in a single tidy handler.

from flask import jsonify
return jsonify(ok=True)

A Create-User Endpoint

Together it is clean: read the JSON body, grab a field, and echo a JSON reply confirming what you received.

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

Quick Check

Confirm how Flask handles JSON payloads.

Recap: JSON Bodies

You parsed JSON with request.get_json, controlled force and silent, checked is_json, and validated before trusting input. 🎯

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「通过 request.get_json 读取 JSON 正文」课时是免费的吗?

是的 — 「通过 request.get_json 读取 JSON 正文」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Flask Academy 课程的其余内容,请升级到 CoddyKit PRO。 Flask Academy 课程共包含 4 节课。

「通过 request.get_json 读取 JSON 正文」这节课中我会学到什么?

解析 API 客户端发送的 JSON 负载 你通过在浏览器中直接运行的动手代码来练习 Flask Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Flask Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Flask Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「通过 request.get_json 读取 JSON 正文」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Flask Academy 课中编写并运行代码吗?

能。每节 Flask Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 通过 request.args 读取查询字符串
  2. 通过 request.form 读取表单字段
  3. 通过 request.get_json 读取 JSON 正文
  4. 标头、Cookie 与客户端 IP
← 返回 Flask Academy