FlaskビューからJSONレスポンスを返す

PYTHON3 チュートリアル

FlaskビューからJSONレスポンスを返す方法

FlaskはPython製の軽量なWebフレームワークであり、JSON形式のデータを返すことができます。Flaskアプリケーション内のビュー関数からJSONレスポンスを返す方法について説明します。

1. 基本的なJSONレスポンスの返し方

以下の例では、Flaskアプリケーション内のビュー関数がJSON形式のデータを返す方法を示しています。

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/json_example')
def json_example():
    data = {'key': 'value'}
    return jsonify(data)

if __name__ == '__main__':
    app.run()

上記のコードでは、’/json_example’エンドポイントにアクセスした際に、{‘key’: ‘value’}というJSON形式のデータが返されます。

2. オブジェクトをJSONに変換して返す方法

次の例では、PythonオブジェクトをJSONに変換してFlaskビューから返す方法を示しています。

from flask import Flask, jsonify
import json

app = Flask(__name__)

@app.route('/json_object')
def json_object():
    data = {'name': 'Alice', 'age': 30}
    json_data = json.dumps(data)
    return json_data

if __name__ == '__main__':
    app.run()

上記の例では、’/json_object’エンドポイントにアクセスすると、{‘name’: ‘Alice’, ‘age’: 30}というJSON形式のデータが返されます。

3. カスタムJSONレスポンスを返す方法

最後に、カスタムJSONレスポンスを返す方法を示します。以下の例では、HTTPステータスコードやカスタムヘッダーを含むJSONレスポンスを返します。

from flask import Flask, jsonify, make_response

app = Flask(__name__)

@app.route('/custom_json')
def custom_json():
    data = {'message': 'Custom JSON response'}
    response = make_response(jsonify(data), 200)
    response.headers['Custom-Header'] = 'Custom Value'
    return response

if __name__ == '__main__':
    app.run()

上記の例では、’/custom_json’エンドポイントにアクセスすると、{‘message’: ‘Custom JSON response’}というJSON形式のデータとカスタムヘッダーが含まれたレスポンスが返されます。

以上がFlaskビューからJSONレスポンスを返す方法に関する基本的な説明と具体例です。Flaskを使用してWebアプリケーションを開発する際には、JSONデータを効果的に扱うことが重要です。

FlaskはPythonのWebアプリケーションフレームワークであり、FlaskビューからJSONレスポンスを返すことは一般的なタスクです。JSON(JavaScript Object Notation)はデータの構造化形式であり、Webアプリケーション間でデータをやり取りする際によく使用されます。

FlaskアプリケーションでJSONレスポンスを返すには、Flaskの`jsonify`メソッドを使用します。このメソッドはPythonのディクショナリやリストをJSON形式に変換してレスポンスとして返します。以下は、FlaskビューでJSONレスポンスを返す例です。

“`python
from flask import Flask, jsonify

app = Flask(__name__)

@app.route(‘/api/data’)
def get_data():
data = {‘name’: ‘John’, ‘age’: 30, ‘city’: ‘Tokyo’}
return jsonify(data)

if __name__ == ‘__main__’:
app.run()
“`

この例では、`/api/data`エンドポイントにアクセスすると、`{‘name’: ‘John’, ‘age’: 30, ‘city’: ‘Tokyo’}`というJSON形式のデータが返されます。Flaskの`jsonify`メソッドを使うことで、簡単にJSONレスポンスを生成してクライアントに返すことができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments