There's JSON5; which supports comments, trailing commas, IEEE 754 ±Infinity
and NaN, [...]
https://json5.org/

There's also JSON-LD, which supports xsd:datetime, everything that can be
expressed as RDF, @context vocabulary, compact and expanded
representations, @id, and lots of other cool features that formats like
CSVW utilize.

https://json-ld.org/spec/latest/

https://www.w3.org/TR/tabular-data-primer/

It seems like just yesterday we were adding JSON to the standard library.
Is there a way to save pickles without allowing executable code to be
stored or executed at deserialization time? PyArrow is fast, there's also a
JS implementation, does SIMD, and zero-copy reads.

Native serialization and deserialization support for either or both JSON5,
JSON lines, and JSON-LD would be great to have.

On Wednesday, August 14, 2019, Andrew Barnert via Python-ideas <
python-ideas@python.org> wrote:

> On Aug 14, 2019, at 11:38, Chris Angelico <ros...@gmail.com> wrote:
> >
> > Side point: Does anyone else think it was an egotistical idea to
> > create JSON as a non-versioned specification? "I can't possibly get
> > this wrong". And now look what's happened.
>
> Well, it was supposed to be an antidote to complicated specifications like
> XML. The syntax fits on a yellow sticky note (sort of), the semantics are
> “whatever your browser’s eval says”, and nobody’s ever going to use it for
> anything but passing around DHTML info. Even though Crockford and friends
> were using it to pass that info from Java services to a JS client pretty
> early on, they didn’t even have a JSON library for Java, just hand-written
> format strings they filled with the data.
>
> So, the idea that there might one day be a series of three RFCs (plus ECMA
> and ISO specs) was probably not so much horrifying as laughably implausible.
>
> Of course now the world has learned its lesson, so nobody will ever do
> that again. YAML and TOML have version numbers, even if they don’t mean
> what you expect and there’s no way to tell what version number a given
> document is. BSON has 1.0 and 1.1, each of which matches some specific
> version of JSON., even if that version isn’t specified anywhere, and, while
> there’s no way to tell which version a given document was written in, 1.1
> is “mostly” backward compatible, so that’s good enough, right? The various
> non-XML RDF/semantic-triple notations mostly don’t have their own versions,
> but at least if you search hard enough you can find which version of RDF
> they currently notate and hope that hasn’t changed since the document was
> created. MessagePack has a version field, even if it’s optional and
> deprecated and version numbers were localtimes that couldn’t be looked up
> anywhere. Avro is intentionally unversioned because it will never change,
> according to version 1.8 of the spec. And so on. We’re in great shape for
> the future. :)
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at https://mail.python.org/archives/list/python-ideas@
> python.org/message/HT6DRWL6ODCJ5MFO7ZU7POALIZ4Q3FU2/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/5C4UHZJJ5O6CNMZADHMRSDL6FHT23FD3/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to