Атрибут json
Атрибут json применяется к объекту ответа
Response и содержит данные, которые
будут отправлены клиенту в формате JSON. При чтении
атрибут возвращает распарсенный Python-объект
(словарь, список, строку, число и так далее),
а при присваивании - сохраняет новый объект
для дальнейшей сериализации. Если ответ не содержит
JSON, значение атрибута равно None.
Доступ к атрибуту возможен как через сам объект
ответа, так и через объект response
внутри функции-обработчика.
Синтаксис
response.json
response.json = value
Пример
Давайте создадим ответ с JSON и прочитаем
значение атрибута json:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
res = jsonify({'name': 'user', 'age': 25})
print(res.json)
return res
Результат выполнения кода:
{'name': 'user', 'age': 25}
Пример
Давайте заменим JSON-данные через атрибут
json перед возвратом ответа:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
res = jsonify({'name': 'user'})
res.json = {'name': 'abcde', 'age': 30}
return res
Результат выполнения кода:
{"name":"abcde","age":30}
Пример
Давайте проверим, что для обычного текстового
ответа атрибут json равен None:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
res = app.response_class('hello')
print(res.json)
return res
Результат выполнения кода:
None
Смотрите также
-
класс
Response,
который представляет HTTP-ответ во Flask -
метод
get_json,
который читает JSON из тела ответа -
атрибут
data,
который хранит тело ответа в виде байтов -
атрибут
content_type,
который задаёт MIME-тип содержимого ответа