Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengembalikan Respons JSON daripada Flask Views?

Bagaimanakah Saya Boleh Mengembalikan Respons JSON daripada Flask Views?

Barbara Streisand
Barbara Streisandasal
2024-12-21 13:13:09187semak imbas

How Can I Return JSON Responses from Flask Views?

Mengembalikan Respons JSON daripada Flask Views

Dalam Flask, paparan boleh mengembalikan data dengan mudah dalam format JSON, membenarkan penyepaduan lancar dengan bahagian hadapan aplikasi. Mari kita terokai cara ini dicapai.

Untuk mengembalikan respons JSON, fungsi paparan boleh terus mengembalikan kamus atau senarai Python dan Flask akan menukarnya secara automatik kepada JSON menggunakan fungsi jsonifynya. Contohnya:

@app.route("/summary")
def summary():
    d = make_summary()
    return d

Pendekatan ini sesuai untuk versi Flask terkini. Untuk versi yang lebih lama, atau jika anda memerlukan lebih kawalan ke atas proses penyirian JSON, anda boleh mengimport fungsi jsonify dan menggunakannya secara eksplisit:

from flask import jsonify

@app.route("/summary")
def summary():
    d = make_summary()
    return jsonify(d)

Menggunakan jsonify membolehkan pengendalian JSON tersuai, seperti menentukan penyeri tersuai atau menggunakan JSONP. Berikut ialah beberapa contoh tambahan:

# Customizing JSON serialization
return jsonify({'foo': 'bar'}, {'_custom': lambda obj: obj.CustomFooSerializer() })

# JSONP response with callback parameter
return jsonify(foo='bar'), 200, {'jsonp':'myCallback'}

Dengan mengembalikan respons JSON daripada paparan Flask, pembangun boleh membuat API RESTful dengan mudah atau menyediakan data dalam format yang konsisten dan boleh digunakan untuk aplikasi klien.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan Respons JSON daripada Flask Views?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn