Prasības: Es izveidoju tiešsaistes parsēšanas lapu jwt, kad jwt saturam ir garš tips, izmantojot noklusējuma JSON metodi, lai parsētu, tiks zaudēta precizitāte, kā parādīts zemāk redzamajā attēlā:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiaXRzdnNlLmNvbSIsImlkIjo4OTA2MTM1NDg4MDEwNzc5Mjg1fQ.7tJHcSfbpZkgqw0ALGSRxyqkz2-UxZPhO_12TuKNZus
JavaScript ir tikai viens skaitļu tips: Skaitlis, Skaitlis ir dubultās precizitātes peldošā komata skaitlis, un atšķirībā no daudzām citām programmēšanas valodām JavaScript nedefinē dažādus skaitļu veidus, piemēram, veselus skaitļus, īsus, garus, peldošā komata utt. Tāpēc JavaScript skaitļi nav sadalīti veselu skaitļu tipos un peldošā komata tipos, un visi skaitļi ir peldošā komata tipi.
Izsakot veselu skaitli, skaitlis var attēlot veselu skaitļu diapazonu no [−2 līdz pakāpei 53, 2 līdz pakāpei 253]. Jo skaitlim ir 8 baiti un 64 biti, ieskaitot 1 zīmes bitu, 11 eksponenciālus bitus un 52 mantijas ciparus.
Varat izmantot Number.MAX_SAFE_INTEGER un Number.MIN_SAFE_INTEGER, lai skatītu maksimālos un minimālos veselos drošības skaitļus。
Kad aizmugures interfeiss atgriež lauku, kura tips ir garš, priekšgals izmanto JSON.parse(text), lai deserializētu displeju, kas izraisīs displeja kļūdu, un risinājums ir tāds, ka aizmugures interfeiss pārvērš garā tipa lauku virknes tipā un atgriež to.
Lossless-JSON projekts, parsējot JSON, neriskējot zaudēt skaitlisko informāciju. GitHub adrese:Hipersaites pieteikšanās ir redzama.
VispirmsKlonējiet bezzudumu json projektulai izveidotu komplektētu un minimizētu bibliotēku (ES5, datoram ir jāinstalē node.js) un vispirms instalējiet atkarības:
Pēc tam sastādiet šādi:
./dist/lossless-json.js Tas ģenerēs ES5 saderības pakotni, kuru var izpildīt pārlūkprogrammā un node.js.
Pārbaudīts, izmantojot pārlūkprogrammas konsoli šādi:
Modificējiet projekta kodu,Iepazīstināt ar lossless-json.js failiem, izsaucot LosslessJSON JSON serializācijai un deserializācijai,Novērsta precizitātes zuduma problēma, kā parādīts attēlā:
let json = LosslessJSON.parse('{"foo":"bar"}'); {foo: 'bārs'} ļaujiet tekstam = LosslessJSON.stringify(json); '{"foo":"bārs"}'
Testa adrese:Hipersaites pieteikšanās ir redzama.
Visbeidzot, pievienojiet kompilēto lossless-json.js failu:
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi (Beigas) |