1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
U
ß=®dÄã@s¦ddlmZddlZddlZddlmZddlm    Z    ej
rFddl m Z ddd    d
œd d „Z dd dddœdd„Zddddœdd„Zddddœdd„Zddddœdd„ZdS)é)Ú annotationsNé)Ú current_appé)Ú_default)ÚResponsezt.AnyÚstr)ÚobjÚkwargsÚreturncKs.trtjj|f|ŽS| dt¡tj|f|ŽS)aFSerialize data as JSON.
 
    If :data:`~flask.current_app` is available, it will use its
    :meth:`app.json.dumps() <flask.json.provider.JSONProvider.dumps>`
    method, otherwise it will use :func:`json.dumps`.
 
    :param obj: The data to serialize.
    :param kwargs: Arguments passed to the ``dumps`` implementation.
 
    .. versionchanged:: 2.3
        The ``app`` parameter was removed.
 
    .. versionchanged:: 2.2
        Calls ``current_app.json.dumps``, allowing an app to override
        the behavior.
 
    .. versionchanged:: 2.0.2
        :class:`decimal.Decimal` is supported by converting to a string.
 
    .. versionchanged:: 2.0
        ``encoding`` will be removed in Flask 2.1.
 
    .. versionchanged:: 1.0.3
        ``app`` can be passed directly, rather than requiring an app
        context for configuration.
    Údefault)rÚjsonÚdumpsÚ
setdefaultrÚ_json)r    r
©rúJd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\flask/json/__init__.pyr s rz    t.IO[str]ÚNone)r    Úfpr
r cKs8trtjj||f|Žn| dt¡tj||f|ŽdS)aSerialize data as JSON and write to a file.
 
    If :data:`~flask.current_app` is available, it will use its
    :meth:`app.json.dump() <flask.json.provider.JSONProvider.dump>`
    method, otherwise it will use :func:`json.dump`.
 
    :param obj: The data to serialize.
    :param fp: A file opened for writing text. Should use the UTF-8
        encoding to be valid JSON.
    :param kwargs: Arguments passed to the ``dump`` implementation.
 
    .. versionchanged:: 2.3
        The ``app`` parameter was removed.
 
    .. versionchanged:: 2.2
        Calls ``current_app.json.dump``, allowing an app to override
        the behavior.
 
    .. versionchanged:: 2.0
        Writing to a binary file, and the ``encoding`` argument, will be
        removed in Flask 2.1.
    r N)rr Údumprrr)r    rr
rrrr/s rz str | bytes)Úsr
r cKs"trtjj|f|ŽStj|f|ŽS)aDeserialize data as JSON.
 
    If :data:`~flask.current_app` is available, it will use its
    :meth:`app.json.loads() <flask.json.provider.JSONProvider.loads>`
    method, otherwise it will use :func:`json.loads`.
 
    :param s: Text or UTF-8 bytes.
    :param kwargs: Arguments passed to the ``loads`` implementation.
 
    .. versionchanged:: 2.3
        The ``app`` parameter was removed.
 
    .. versionchanged:: 2.2
        Calls ``current_app.json.loads``, allowing an app to override
        the behavior.
 
    .. versionchanged:: 2.0
        ``encoding`` will be removed in Flask 2.1. The data must be a
        string or UTF-8 bytes.
 
    .. versionchanged:: 1.0.3
        ``app`` can be passed directly, rather than requiring an app
        context for configuration.
    )rr Úloadsr)rr
rrrrMsrzt.IO[t.AnyStr])rr
r cKs"trtjj|f|ŽStj|f|ŽS)aDeserialize data as JSON read from a file.
 
    If :data:`~flask.current_app` is available, it will use its
    :meth:`app.json.load() <flask.json.provider.JSONProvider.load>`
    method, otherwise it will use :func:`json.load`.
 
    :param fp: A file opened for reading text or UTF-8 bytes.
    :param kwargs: Arguments passed to the ``load`` implementation.
 
    .. versionchanged:: 2.3
        The ``app`` parameter was removed.
 
    .. versionchanged:: 2.2
        Calls ``current_app.json.load``, allowing an app to override
        the behavior.
 
    .. versionchanged:: 2.2
        The ``app`` parameter will be removed in Flask 2.3.
 
    .. versionchanged:: 2.0
        ``encoding`` will be removed in Flask 2.1. The file must be text
        mode, or binary mode with UTF-8 bytes.
    )rr Úloadr)rr
rrrrlsrr)Úargsr
r cOstjj||ŽS)aÚSerialize the given arguments as JSON, and return a
    :class:`~flask.Response` object with the ``application/json``
    mimetype. A dict or list returned from a view will be converted to a
    JSON response automatically without needing to call this.
 
    This requires an active request or application context, and calls
    :meth:`app.json.response() <flask.json.provider.JSONProvider.response>`.
 
    In debug mode, the output is formatted with indentation to make it
    easier to read. This may also be controlled by the provider.
 
    Either positional or keyword arguments can be given, not both.
    If no arguments are given, ``None`` is serialized.
 
    :param args: A single value to serialize, or multiple values to
        treat as a list to serialize.
    :param kwargs: Treat as a dict to serialize.
 
    .. versionchanged:: 2.2
        Calls ``current_app.json.response``, allowing an app to override
        the behavior.
 
    .. versionchanged:: 2.0.2
        :class:`decimal.Decimal` is supported by converting to a string.
 
    .. versionchanged:: 0.11
        Added support for serializing top-level arrays. This was a
        security risk in ancient browsers. See :ref:`security-json`.
 
    .. versionadded:: 0.2
    )rr Úresponse)rr
rrrÚjsonifyŠs r)Ú
__future__rr rÚtypingÚtÚglobalsrZproviderrÚ TYPE_CHECKINGÚwrappersrrrrrrrrrrÚ<module>s    "