Bird
Raised Fist0
Flaskframework~10 mins

Accessing JSON data in Flask - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to get JSON data from a Flask request.

Flask
data = request.[1]()
Drag options to blanks, or click blank then click option'
Aget_json
Bjson
Cjsonify
Dget_data
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'jsonify' which is for creating JSON responses, not reading JSON from requests.
Using 'json' which is a module, not a method on request.
Using 'get_data' which returns raw data, not parsed JSON.
2fill in blank
medium

Complete the code to access the value of the 'name' key from JSON data.

Flask
name = data[1]"name"]
Drag options to blanks, or click blank then click option'
A(
B.
C[
D{
Attempts:
3 left
💡 Hint
Common Mistakes
Using dot notation which does not work on dictionaries.
Using parentheses which are for function calls.
Using curly braces which define dictionaries, not access keys.
3fill in blank
hard

Fix the error in accessing nested JSON data for key 'address' then 'city'.

Flask
city = data["address"][1]"city"]
Drag options to blanks, or click blank then click option'
A[
B.
C(
D{
Attempts:
3 left
💡 Hint
Common Mistakes
Using dot notation for nested keys.
Using parentheses which cause syntax errors.
Using curly braces which are for dictionary literals.
4fill in blank
hard

Fill both blanks to safely get the 'age' key from JSON data with a default of 0.

Flask
age = data.[1]("age", [2])
Drag options to blanks, or click blank then click option'
Aget
B0
CNone
Dpop
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'pop' which removes the key from the dictionary.
Using 'None' as default which is not the intended default here.
Using dot notation without a method.
5fill in blank
hard

Fill all three blanks to create a Flask route that accepts JSON POST requests and returns the 'status' key.

Flask
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/status', methods=[[1]])
def get_status():
    data = request.[2]()
    status = data.get([3], 'unknown')
    return jsonify({'status': status})
Drag options to blanks, or click blank then click option'
A'POST'
Bget_json
C'status'
D'GET'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'GET' method which does not send JSON in the body.
Using 'jsonify' instead of 'get_json' to read data.
Using wrong key name or missing quotes.

Practice

(1/5)
1. In Flask, which method is used to access JSON data sent in a POST request?
easy
A. request.json()
B. request.json_data()
C. request.get_data()
D. request.get_json()

Solution

  1. Step 1: Identify the Flask method for JSON data

    Flask provides request.get_json() to parse JSON body data safely.
  2. Step 2: Confirm method usage

    This method returns a Python dictionary from the JSON sent in the request.
  3. Final Answer:

    request.get_json() -> Option D
  4. Quick Check:

    Use request.get_json() to access JSON data [OK]
Hint: Use request.get_json() to get JSON data in Flask [OK]
Common Mistakes:
  • Using request.json() which does not exist
  • Using request.get_data() which returns raw bytes
  • Using request.json_data() which is not a Flask method
2. Which of the following is the correct way to safely access the value of the key 'name' from JSON data in Flask?
easy
A. data['name']
B. data.get('name')
C. data.name
D. data['Name']

Solution

  1. Step 1: Understand dictionary access in Python

    JSON data parsed by request.get_json() is a Python dictionary.
  2. Step 2: Choose safe key access method

    Using data.get('name') safely returns the value or None if key missing, avoiding errors.
  3. Final Answer:

    data.get('name') -> Option B
  4. Quick Check:

    Use dict.get() to safely access JSON keys [OK]
Hint: Use data.get('key') to avoid KeyError if missing [OK]
Common Mistakes:
  • Using data['Name'] with wrong case
  • Using data.name which is invalid for dict
  • Using data['name'] without checking key existence
3. Given the Flask route code:
from flask import Flask, request
app = Flask(__name__)

@app.route('/data', methods=['POST'])
def data():
    json_data = request.get_json()
    return json_data.get('age', 'No age provided')

What will be the response if the JSON sent is {"name": "Alice"}?
medium
A. "No age provided"
B. KeyError
C. None
D. "Alice"

Solution

  1. Step 1: Analyze JSON input and key access

    The JSON sent has no 'age' key, only 'name'.
  2. Step 2: Understand get() default behavior

    Using json_data.get('age', 'No age provided') returns the default string when 'age' is missing.
  3. Final Answer:

    "No age provided" -> Option A
  4. Quick Check:

    Missing key returns default value in get() [OK]
Hint: get() returns default if key missing, no error [OK]
Common Mistakes:
  • Expecting KeyError instead of default value
  • Confusing returned value with another key
  • Assuming None is returned without default
4. What is wrong with this Flask code snippet for accessing JSON data?
@app.route('/submit', methods=['POST'])
def submit():
    data = request.get_json
    return data['email']
medium
A. Missing import of request
B. Using data['email'] without checking if key exists
C. request.get_json is missing parentheses
D. Route method should be GET instead of POST

Solution

  1. Step 1: Check method call syntax

    request.get_json is a method and must be called with parentheses: request.get_json().
  2. Step 2: Identify impact of missing parentheses

    Without parentheses, data is a method reference, not the JSON dict, causing errors on key access.
  3. Final Answer:

    request.get_json is missing parentheses -> Option C
  4. Quick Check:

    Always call get_json() with () to get JSON data [OK]
Hint: Call get_json() with parentheses to get data [OK]
Common Mistakes:
  • Forgetting parentheses after get_json
  • Not checking if key exists before access
  • Assuming GET method for JSON POST route
5. You want to safely extract the 'username' and 'email' from JSON data in a Flask route, providing default values if keys are missing. Which code snippet correctly does this?
hard
A. data = request.get_json() username = data.get('username', 'guest') email = data.get('email', 'noemail@example.com')
B. data = request.get_json() username = data['username'] email = data['email']
C. data = request.get_json username = data.get('username', 'guest') email = data.get('email', 'noemail@example.com')
D. data = request.get_json() username = data.get('username') or 'guest' email = data['email']

Solution

  1. Step 1: Use get_json() correctly

    Call request.get_json() with parentheses to get JSON data as a dict.
  2. Step 2: Use dict.get() with defaults for safe access

    Use data.get('key', default) to provide fallback values if keys are missing.
  3. Final Answer:

    data = request.get_json() username = data.get('username', 'guest') email = data.get('email', 'noemail@example.com') -> Option A
  4. Quick Check:

    Use get_json() and dict.get() with defaults for safe JSON access [OK]
Hint: Use data.get('key', default) after get_json() call [OK]
Common Mistakes:
  • Not calling get_json() as a method
  • Accessing keys directly without defaults
  • Mixing method call and attribute access
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard