Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 8278|Atbildi: 1

[JavaScript] Front-end JS atrisina JSON serializācijas precizitātes zuduma problēmu

[Kopēt saiti]
Publicēts 13.02.2022 14:37:43 | | | |
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ūdzuAtbildi

(Beigas)




Iepriekšējo:[Faktiskā cīņa]. NET/C# eksportē kešatmiņu, izmantojot StackExchange.Redis izplūdušo vaicājumu
Nākamo:[Prakse] Java nevar noķert pielāgotus izņēmumus, izmantojot hutool atspoguļojumu
Publicēts 13.02.2022 16:28:40 |
Nāciet mācīties vēlreiz...
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com