Класс json
Класс json из модуля flask.json является прокси-объектом, который предоставляет доступ к текущему провайдеру JSON, настроенному в приложении. Через него доступны методы dumps и loads, позволяющие преобразовывать объекты Python в JSON-строку и обратно. Класс автоматически использует настройки приложения Flask, такие как JSON_AS_ASCII, JSON_SORT_KEYS и другие. Это особенно удобно, когда нужно сериализовать данные в контексте приложения без создания собственного экземпляра JSONProvider.
Синтаксис
from flask import json
json.dumps(obj, **kwargs)
json.loads(s, **kwargs)
Пример
Давайте сериализуем словарь в JSON-строку с помощью метода dumps:
from flask import Flask, json
app = Flask(__name__)
with app.app_context():
data = {'name': 'user', 'age': 25}
res = json.dumps(data)
print(res)
Результат выполнения кода:
'{"age": 25, "name": "user"}'
Пример
Давайте десериализуем JSON-строку обратно в объект Python с помощью метода loads:
from flask import Flask, json
app = Flask(__name__)
with app.app_context():
s = '{"name": "user", "age": 25}'
res = json.loads(s)
print(res)
Результат выполнения кода:
{'name': 'user', 'age': 25}
Пример
Давайте вернём JSON-ответ из маршрута, используя json.dumps вместе с классом Response:
from flask import Flask, json, Response
app = Flask(__name__)
@app.route('/')
def index():
data = {'name': 'user', 'age': 25}
return Response(json.dumps(data), mimetype='application/json')
Результат выполнения кода для адреса /:
{"age": 25, "name": "user"}
Смотрите также
-
метод
dumps,
который сериализует объект в JSON-строку -
метод
loads,
который десериализует JSON-строку в объект -
класс
JSONProvider,
который настраивает провайдер JSON для приложения -
метод
response,
который создаёт JSON-ответ из данных