Skip to content
This repository was archived by the owner on May 28, 2019. It is now read-only.
This repository was archived by the owner on May 28, 2019. It is now read-only.

Keep precision in big numbers when parsing #81

Open
@oskarhane

Description

@oskarhane

Hey,
I really don't know if I should treat this as a bug report or as a feature request.
Since we're hitting Javascripts limits I think it's a feature request.

When getting response from an API with, let's say this string: '{"x":9223372036854775807}' the JSON.parsed object o is o.x == 9223372036854776000.

There are two options here (that I can think of)

  • convert the number to a string before parsing
  • use some kind of bignum or equivalent library to help with the representation

I would prefer to have the number as a string if the limit is hit.

What's your take on this?

PS. Here's a test.

testSuite.addTest("`parse`: Handle big Numbers", function (t) {
  var refString = '{"x":9223372036854775807}';
  var stringifiedObj = JSON.stringify(JSON.parse(refString));

  this.equal(refString, stringifiedObj, 'Compare strings before and after.');
  this.done(1);
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions