Nõuded: Tegin jwt jaoks veebipõhise parsimislehe, kus kui jwt sisu tüüp on pikk, põhjustab vaikimisi JSON meetodi kasutamine analüüsimiseks täpsuse languse, nagu alloleval joonisel näidatud:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiaXRzdnNlLmNvbSIsImlkIjo4OTA2MTM1NDg4MDEwNzc5Mjg1fQ.7tJHcSfbpZkgqw0ALGSRxyqkz2-UxZPhO_12TuKNZus
JavaScriptil on ainult üks arvutüüp: Number, Number on topelttäpsusega ujukomaarv, ja erinevalt paljudest teistest programmeerimiskeeltest ei määra JavaScript erinevat tüüpi arve, nagu täisarvud, lühikesed, pikad, ujukomaarvud jne. Seetõttu ei jagata JavaScriptis numbreid täisarvudeks ja ujukomatüüpideks ning kõik arvud on ujukoma-tüübid.
Täisarvu väljendamisel võib arv esindada täisarvulist vahemikku [−2 kuni 53 astmeni, 2 astme 253 astmeni]. Sest Number sisaldab 8 baiti ja 64 bitti, sealhulgas 1 märgibitti, 11 eksponentsiaalbitti ja 52 mantissanumbrit.
Saad kasutada Number.MAX_SAFE_INTEGER ja Number.MIN_SAFE_INTEGER, et vaadata maksimaalseid ja minimaalseid ohutuse täisarvu.。
Kui taustaliides tagastab välja tüübi pikkuseks, kasutab esiosa ekraani deserialiseerimiseks JSON.parse(text), mis põhjustab kuvavea, ning lahendus on see, et taustaliides teisendab tüübi pikkuse välja stringitüübiks ja tagastab selle.
lossless-json projekt, mis parseerib JSON-i ilma numbrilise info kaotamise riskita. GitHubi aadress:Hüperlingi sisselogimine on nähtav.
EsiteksKlooni lossless-json projektet luua komplekteeritud ja minimeeritud teek (ES5, arvuti peab node.js installima) ning esmalt paigaldada sõltuvused:
Seejärel kompileeri järgmiselt:
./dist/lossless-json.js See genereerib ES5 ühilduvuspaketi, mida saab käivitada brauseris ja node.js.
Testitud brauserikonsooli kaudu järgmiselt:
Muuda projekti koodi,Tutvusta lossless-json.js faile, kutsudes LosslessJSON-i JSON-i seriaaliseerimiseks ja deserialiseerimiseks,Parandatud täpsuse kaotuse probleem, nagu alloleval joonisel näidatud:
let json = LosslessJSON.parse('{"foo":"bar"}'); {foo: 'bar'} let text = LosslessJSON.stringify(json); '{"foo":"bar"}'
Testi aadress:Hüperlingi sisselogimine on nähtav.
Lõpuks lisa kompileeritud lossless-json.js fail:
Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse (Lõpp) |