Метод get_json
Метод get_json применяется к объекту ответа
Response и извлекает из его тела данные
формата JSON, преобразуя их в Python-объект. Первым
параметром передаётся force - если он равен
True, метод попытается разобрать тело как JSON
даже при неверном заголовке Content-Type.
Вторым параметром идёт silent - если он равен
True, метод вернёт None вместо исключения
при ошибке разбора.
Синтаксис
response.get_json(force=False, silent=False, cache=True)
Пример
Давайте создадим ответ с JSON-телом и извлечём из него данные:
from flask import Flask, Response
import json
app = Flask(__name__)
@app.route('/')
def index():
data = {'name': 'user', 'age': 25}
res = Response(
json.dumps(data),
mimetype='application/json'
)
parsed = res.get_json()
return str(parsed)
Результат выполнения кода:
{'name': 'user', 'age': 25}
Пример
Давайте разберём JSON-массив, полученный в ответе:
from flask import Flask, Response
import json
app = Flask(__name__)
@app.route('/')
def index():
data = ['a', 'b', 'c', 'd', 'e']
res = Response(
json.dumps(data),
mimetype='application/json'
)
parsed = res.get_json()
return str(parsed)
Результат выполнения кода:
['a', 'b', 'c', 'd', 'e']
Пример
Давайте используем параметр silent, чтобы
избежать исключения при неверном JSON:
from flask import Flask, Response
app = Flask(__name__)
@app.route('/')
def index():
res = Response(
'not a json',
mimetype='text/plain'
)
parsed = res.get_json(silent=True)
return str(parsed)
Результат выполнения кода:
None