JSON support for BigInt in Chrome/V8
Andrea Giammarchi
andrea.giammarchi at gmail.com
Tue Jul 17 16:11:28 UTC 2018
actually, `{type: 'String', value: ''}` ... so the rule is: usable as class
? `{new: 'ClassName', value: 'how to construct it'}` : `{type: 'Primitive',
value: 'how to create it'}` and the unserialized value uses `new
global[obj.new](obj.value)` or `global[obj.type](obj.value)` to recreate
the value.
Regards
On Tue, Jul 17, 2018 at 6:04 PM Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:
> My idea is that `JSON.stringify(new Uint8Array([1, 2, 3]));` is also an
> issue, not only BigInt.
>
> if every value could be represented as `{{type: 'BigInt', value:
> '55555555'}, {new: 'Uint8Array', value: [1, 2, 3]}, {type: 'string', value:
> 'dastring'}, {type: 'number', value: 123}, {new: 'String', value: 'as
> wrap'}}` and resurrected later on it's basically problem solved except for
> Weak* and Symbol, unless it's a global one, and it'd be OK.
>
> That transformation would be compatible also with all circular-json like
> libraries I know (or I've written).
>
> Regards
>
>
>
> On Tue, Jul 17, 2018 at 5:44 PM Cyril Auburtin <cyril.auburtin at gmail.com>
> wrote:
>
>> It would be great to have
>> ```js
>> JSON.stringify({x: 5n, y: BigInt('6')}) === '{"x":5n,"y":6n}'
>> JSON.parse('{"x": 3n}') // {x: 3n}
>> ```
>> I don't know how feasable it would be, maybe have a new JSON5 object if
>> JSON can't be changed for some reasons
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20180717/2fe4a80e/attachment.html>
More information about the es-discuss
mailing list