2016-02-29 3 views
2

Я получаю объект JSON, который включает значение типа long из ответа API. Поскольку javascript не может обрабатывать 64-битные номера, при выполнении JSON.parse в ответ он округляет число до максимального значения, которое может обрабатывать javascript.Parse JSON с большими номерами javascript

API-ответ:

{ 
     "subject": "subjectTitle", 
     "longNumberKey": 7356270823847851521, 
    } 

При анализе этого объекта к JSON, longNumberKey значения будет 7356270823847852000 вместо 7356270823847851521. Решение должно представлять это значение как string, но я не могу контролировать ответ API для этого.

+0

Что он должен вернуться вместо этого? Номера Javascript просто не имеют достаточной точности, чтобы точно представлять это число. – Barmar

+0

Я знаю это, но мне нужно точно показать это значение, мне не нужно делать какие-либо арифметические операции с этим числом. – Avi

+0

Javascript не может хранить такие номера. Неважно, что вы хотите с этим делать. – Barmar

ответ

2

----->JSON-bignumhttps://www.npmjs.com/package/json-bignum < ------ JSON парсер!

GMP (ГНУ множественная точность) с яваскриптом https://github.com/jtobey/javascript-bignum/blob/master/src/gmp-example.html

gmp.jshttps://github.com/kripken/gmp.js?MobileOptOut=1

+0

У него есть парсер JSON? Ему не нужно делать арифметику по номерам, ему просто нужно разбирать JSON. – Barmar

 Смежные вопросы

  • Нет связанных вопросов^_^