[3.13] gh-134150: Clarify distinction between JSON and Python objects (GH-134154) (#134167)

gh-134150: Clarify distinction between JSON and Python objects (GH-134154)

* gh-134150: Clarify distinction between JSON objects and Python objects in json module docs

* Revert change to JSON introduction

* Clarify occurrences of "object literal" as JSON
(cherry picked from commit fa4e088668)

Co-authored-by: Micha Albert <micha@2231puppy.tech>
This commit is contained in:
Miss Islington (bot) 2025-05-18 03:53:37 +02:00 committed by GitHub
parent f62543271a
commit ebe54d7ab7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 5 deletions

View File

@ -18,12 +18,17 @@ is a lightweight data interchange format inspired by
`JavaScript <https://en.wikipedia.org/wiki/JavaScript>`_ object literal syntax
(although it is not a strict subset of JavaScript [#rfc-errata]_ ).
.. note::
The term "object" in the context of JSON processing in Python can be
ambiguous. All values in Python are objects. In JSON, an object refers to
any data wrapped in curly braces, similar to a Python dictionary.
.. warning::
Be cautious when parsing JSON data from untrusted sources. A malicious
JSON string may cause the decoder to consume considerable CPU and memory
resources. Limiting the size of data to be parsed is recommended.
:mod:`json` exposes an API familiar to users of the standard library
This module exposes an API familiar to users of the standard library
:mod:`marshal` and :mod:`pickle` modules.
Encoding basic Python object hierarchies::
@ -60,7 +65,7 @@ Pretty printing::
"6": 7
}
Specializing JSON object encoding::
Customizing JSON object encoding::
>>> import json
>>> def custom_json(obj):
@ -83,7 +88,7 @@ Decoding JSON::
>>> json.load(io)
['streaming API']
Specializing JSON object decoding::
Customizing JSON object decoding::
>>> import json
>>> def as_complex(dct):
@ -279,7 +284,7 @@ Basic Usage
:param object_hook:
If set, a function that is called with the result of
any object literal decoded (a :class:`dict`).
any JSON object literal decoded (a :class:`dict`).
The return value of this function will be used
instead of the :class:`dict`.
This feature can be used to implement custom decoders,
@ -289,7 +294,7 @@ Basic Usage
:param object_pairs_hook:
If set, a function that is called with the result of
any object literal decoded with an ordered list of pairs.
any JSON object literal decoded with an ordered list of pairs.
The return value of this function will be used
instead of the :class:`dict`.
This feature can be used to implement custom decoders.