IMHO, I'd like to see four things:

- Native JSON multi-object support
- Binary data support that doesn't require delimiters
- Native JSON property streaming support
- Spec-level binary JSON support

Apart from that, I don't really see anything JSON lacks.

-----

Isiah Meadows
[email protected]
www.isiahmeadows.com

On Tue, Jul 24, 2018 at 12:43 PM, Carsten Bormann <[email protected]> wrote:
>
> On Jul 24, 2018, at 18:29, Anders Rundgren <[email protected]> 
> wrote:
> >
> > On 2018-07-24 17:09, Carsten Bormann wrote:
> >> On Jul 24, 2018, at 16:31, Anders Rundgren <[email protected]> 
> >> wrote:
> >>>
> >>> JSON isn’t really a topic for tc39 only but since the IETF consider JSON 
> >>> "done", an open question is where possible future developments should 
> >>> take place,
> >> No, that is not the question.
> >>> including dealing with new data types like BigInt.
> >> That, indeed, is a question for JavaScript.  It has nothing to do with 
> >> “developing” JSON; JSON can already represent BigInt just fine.
> >
> > Serializing BigInt as JSON Number is the solution then?
>
> For applications that make good use of BigInt, I would say so.
> So you wouldn’t use JSON.parse, but a new interface that preserves integers 
> beyond 2**53 as BigInt (or possibly even all integers; I don’t want to design 
> this on a napkin)
>
> > There are a few argument against that:
> >
> > - This would typically require low-level parsers to always rely on a 
> > BigNumber type.  Oracle's JSON-B does exactly that.  Currently there is no 
> > BigNumber type in JS or .NET.
>
> There is no need for the above interface to handle floating point numbers 
> (NR2/NR3).
>
> > - There is quite a bunch of IETF standards defining JSON structures. As far 
> > as I know none of them exploit JSON outside of its original, JS-induced 
> > limitations.
>
> Maybe the IETF was smart enough to stay in the confines of I-JSON…
>
> But really, JSON never had that particular limitation.  A JSON-based 
> ecosystem that wants to enable the use of JavaScript JSON.parse does, as 
> Twitter found out when they were sending their perfectly valid JSON to 
> JavaScript applications.
>
> > - Although BigInt is a very welcome addition to JS, usages are few and 
> > typically confined to specific things like crypto or money.  Creating 
> > backward incompatibility for that is IMO counterproductive.
>
> Right, so maybe the motivation for touching JSON really isn’t that massive.
>
> > - Serializing BigInts as a string does not break anything.
>
> After JSON.parse, they are text strings then, not BigInts.
> Generally, there is the expectation that, for an interesting set of x, 
> JSON.parse(JSON.stringify(x)) == x
> Hence the exception when you pass BigInt to JSON.stringify today.
>
> >>> Personally I think the JSON WG should be rebooted but apparently I’m 
> >>> rather alone with that idea.
> >> Indeed.
> >
> > That might be the case but it doesn’t solve the problem.
>
> It also doesn’t create the problem of damaging JSON by instability.
>
> >> Frankly, JSON, together with the JavaScript-induced limitations in its 
> >> ecosystem as documented in RFC 7493, is not a very brilliant data 
> >> interchange format.
> >
> > It seems to work well in spite of not being brilliant.
>
> Right.  As do bicycles.  Until you need to transport a sofa or cross the 
> Atlantic.
> JSON is the right tool for a large number of jobs.
>
> > Yes, CBOR is great https://tools.ietf.org/html/rfc7049 :-)
>
> Can’t disagree here :-)
>
> Grüße, Carsten
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to