You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
update json module docs in light of RFC 7159 & ECMA-404 #65713
These updated specs are of particular relevance to the Standard Compliance section of the json module docs. There are also a bunch of new interoperability notes in the RFC that could probably bear repeating in the module's docs.
Here's a draft patch against the default branch that updates the json module's docs accordingly.
Note that under "Implementation Limitations", the statement "This module does not impose any such limits beyond those of the relevant Python datatypes themselves or the Python interpreter itself." is just a guess; I need someone who's familiar with the implementation to verify/correct this.
With regard to "Infinite and NaN number values are accepted and output;" there's an option for that (allow_nan=False in encoding, parse_constant=some_function_that_raises in decoding). Since an exception can't be raised in a lambda there's no simple one-liner to ensure compliant decode.
Serhiy, can you take this one. The patch passes both mine and Bob's review; however, it doesn't apply cleanly to 2.7 and 3.4. I haven't had the time to do the needed backports.
Activity
cvrebert commentedon May 16, 2014
json module docs: https://docs.python.org/3/library/json.html
New superseding JSON RFC: https://tools.ietf.org/html/rfc7159
Errata to the new RFC: http://www.rfc-editor.org/errata_search.php?rfc=7159
ECMA-404: http://www.ecma-international.org/publications/standards/Ecma-404.htm
These updated specs are of particular relevance to the Standard Compliance section of the json module docs. There are also a bunch of new interoperability notes in the RFC that could probably bear repeating in the module's docs.
cvrebert commentedon Jul 13, 2014
Here's a draft patch against the default branch that updates the json module's docs accordingly.
Note that under "Implementation Limitations", the statement "This module does not impose any such limits beyond those of the relevant Python datatypes themselves or the Python interpreter itself." is just a guess; I need someone who's familiar with the implementation to verify/correct this.
etrepum commentedon Jul 14, 2014
This patch looks reasonable to me as-is.
With regard to "Infinite and NaN number values are accepted and output;" there's an option for that (allow_nan=False in encoding, parse_constant=some_function_that_raises in decoding). Since an exception can't be raised in a lambda there's no simple one-liner to ensure compliant decode.
cvrebert commentedon Jul 14, 2014
Thanks for the speedy review!
Those NaN-related arguments are already mentioned in the docs (see last 2 sentences of https://docs.python.org/3/library/json.html#infinite-and-nan-number-values ), and this patch doesn't touch that subsection.
etrepum commentedon Jul 14, 2014
Good call, I was just doing a quick review of the patch in isolation. Now I don't have anything at all to comment on :)
rhettinger commentedon Jul 14, 2014
Thanks Bob. If you want me to apply the patch, just assign this back to me.
cvrebert commentedon Aug 10, 2014
So, when might I expect to see this patch merged, since it's now been approved?
rhettinger commentedon Aug 11, 2014
Soonish.
cvrebert commentedon Nov 11, 2014
Ping! It's been about 3 months since this was given the green light...
rhettinger commentedon Nov 27, 2014
Serhiy, can you take this one. The patch passes both mine and Bob's review; however, it doesn't apply cleanly to 2.7 and 3.4. I haven't had the time to do the needed backports.
python-dev commentedon Nov 27, 2014
New changeset 7e534e18a99a by Serhiy Storchaka in branch '2.7':
Issue bpo-21514: The documentation of the json module now refers to new JSON RFC
https://hg.python.org/cpython/rev/7e534e18a99a
New changeset 89bb4384f1e1 by Serhiy Storchaka in branch '3.4':
Issue bpo-21514: The documentation of the json module now refers to new JSON RFC
https://hg.python.org/cpython/rev/89bb4384f1e1
New changeset aced2548345a by Serhiy Storchaka in branch 'default':
Issue bpo-21514: The documentation of the json module now refers to new JSON RFC
https://hg.python.org/cpython/rev/aced2548345a
cvrebert commentedon Nov 27, 2014
Thanks Serhiy!
serhiy-storchaka commentedon Nov 27, 2014
Thank you Chris for your patch.