Teksti ja JSON-i võrdlemise põhimõtted
Kahe tekstifaili või andmestruktuuri kõrvutamine ja nendevaheliste erinevuste tuvastamine (inglise keeles diff) on tarkvaraarenduses, andmehalduses ja igapäevases tekstitöös tavapärane tegevus. Protsessi eesmärk on tuvastada täpselt, millised osad algsest sisust on säilinud, millised on eemaldatud ning millised uued elemendid on lisatud.
Võrdlemise käigus jagatakse sisendandmed väiksemateks osadeks, mida analüüsitakse järjestikku. Tööriist tuvastab kolme tüüpi muudatusi:
- Lisatud (inglise keeles added): elemendid, mis esinevad ainult muudetud sisendis.
- Eemaldatud (inglise keeles removed): elemendid, mis esinevad ainult algses sisendis.
- Muudetud (inglise keeles changed): elemendid, mille sisu on kahe versiooni vahel asendunud.
Sõltuvalt võrreldava materjali tüübist saab andmeid analüüsida kas puhta tekstina või struktureeritud andmetena. See eristus määrab, kas võrdlus põhineb ridade ja sõnade järjestusel või andmeobjektide sisulisel struktuuril.
Tekstirežiim ja täpsusastmed
Tekstirežiimis võrreldakse sisendeid ridade või sõnade kaupa. Kasutaja saab valida kahe täpsusastme vahel:
- Read: Võrdlus tehakse rearea haaval. See on kasulik koodifailide, konfiguratsioonide või pikemate tekstilõikude võrdlemiseks, kus iga rida esindab eraldiseisvat tervikut.
- Sõnad: Võrdlus tehakse sõnade kaupa. See režiim sobib tavalise teksti redigeerimiseks, võimaldades näha täpseid muudatusi lausete sees.
Tekstirežiimi toimimise näitlikustamiseks saab kasutada järgmisi näidissisendeid:
- Algne tekst:
BroBroGo tööriistad töötavad teie veebibrauseris. Need on kiired, privaatsed ja lihtsad. Kasutage neid, kui vajate kiiret kontrolli. - Muudetud tekst:
BroBroGo tööriistad töötavad teie veebibrauseris. Need on kiired, privaatsed ja fokuseeritud. Kasutage neid, kui vajate kiiret võrdlust.
Nende tekstide võrdlemisel tuvastab tööriist muudatused ridade või sõnade tasemel, märkides erinevused vastavalt valitud täpsusastmele.
JSON-andmete struktuurne võrdlemine
JSON-režiim erineb tavalisest tekstivõrdlusest selle poolest, et sisendit ei vaadelda pelgalt märgijadana, vaid analüüsitakse selle semantilist struktuuri. JSON-andmete võrdlemisel kehtivad kindlad reeglid:
- Objektide võtmete järjekord: JSON-objektide sees võrreldakse võtmeid nime järgi. See tähendab, et ainuüksi võtmete järjekorra muutumist ei loeta sisuliseks muudatuseks. Tööriist parsib ja vormindab mõlemad pooled ühtselt enne võrdlemist.
- Massiivid: Massiive võrreldakse positsiooni (indeksi) järgi. Järjekorra muutus massiivis kajastub erinevusena.
- Struktuursed teed: Muudatused kuvatakse koos nende täpsete struktuursete teedega, mis võimaldab arendajatel ja analüütikutel tuvastada muudetud väärtuse asukoha keerulises andmepuus.
JSON-režiimi testimiseks saab kasutada järgmisi näidisandmeid:
- Algne JSON:
{ "name": "BroBroGo", "plan": "free", "tools": ["json", "regex", "hash"], "private": true } - Muudetud JSON:
{ "name": "BroBroGo", "plan": "free", "tools": ["json", "regex", "diff"], "private": true, "updated": 2026 }
Kui sisestatud JSON-struktuurid on vigased, kuvatakse vastav veateade. Kui vasakpoolne sisend ei vasta JSON-vormingule, kuvatakse teade Vasakpoolne JSON on vigane: koos veakirjeldusega. Kui viga on parempoolses sisendis, kuvatakse teade Parempoolne JSON on vigane:. Kui sisulisi erinevusi ei leita, kuvatakse teade JSON-i väärtuste muudatusi ei leitud.
Privaatsus ja kliendipoolne andmetöötlus
Andmete turvalisus ja privaatsus on tundlike andmete, näiteks API-vastuste, konfiguratsioonifailide või isikuandmete võrdlemisel kriitilise tähtsusega. See tööriist teostab kogu andmetöötluse otse kasutaja veebibrauseris.
Sisestatud tekste ega JSON-struktuure ei laadita BroBroGo serverisse. Kuna võrdlusalgoritmid käivitatakse lokaalselt kasutaja seadmes, on tagatud andmete privaatsus ilma välise võrguliikluse vajaduseta pärast lehe laadimist.
Suurte sisendite käsitlemine ja piirangud
Selleks, et veebileht säilitaks reageerimisvõime ka mahukate andmete töötlemisel, on tööriistale seatud kindlad piirangud ja reeglid:
- Mahu piirang: Ühe sisendvälja maksimaalne lubatud maht on 300 000 märki. Kui sisestatud andmed ületavad selle piiri, kuvatakse teade
See sisend on selle tööriista jaoks liiga suur. Proovige väiksemat võrdlust.. - Ajaline piirang: Võrdlusprotsess peatatakse automaatselt, kui see võtab aega kauem kui 2,5 sekundit. Sellisel juhul kuvatakse teade
See võrdlus võtab liiga kaua aega. Proovige väiksemat sisendit või režiimi 'Read'.. - Tulemuste kärpimine: Kui võrdlustulemus on lehe jõudluse tagamiseks liiga mahukas, võidakse kuvada piiratud tulemus koos teatega
Kuvatakse piiratud tulemus, et leht jääks reageerivaks.. - Üldine tõrge: Kui võrdlemine ebaõnnestub muudel põhjustel, kuvatakse teade
Neid sisendeid ei saanud võrrelda..
Kasutajaliidese funktsioonid ja olekud
Tööriista liides koosneb kahest peamisest sisendväljast: Algne (vasakul) ja Muudetud (paremal). Kasutajal on võimalik kasutada järgmisi funktsioone:
- Vaheta: Vahetab omavahel vasaku ja parema sisendi kohad, kuvades teate
Vasak ja parem pool on vahetatud.. - Tühjenda: Kustutab sisu mõlemalt väljalt, kuvades teate
Mõlemad pooled on tühjendatud.. - Statistika: Tööriist kuvab statistilised andmed mõlema poole kohta, tähistades need siltidega
VasakjaParem.
Võrdluse olekutest teavitatakse kasutajat järgmiste teadetega:
- Kui väljad on tühjad:
Alustamiseks kleepige sisu ühele või mõlemale poolele.. - Kui võrdlus on edukalt sooritatud:
Erinevused on värskendatud.. - Kui erinevusi ei tuvastata:
Erinevusi ei leitud..
Korduma kippuvad küsimused
Mis vahe on teksti- ja JSON-režiimil?
Tekstirežiim võrdleb toorsisu rea või sõna kaupa. JSON-režiim analüüsib esmalt mõlemat poolt, vormindab need ühtselt ja kuvab muudetud teed (nt $.user.email).
Kas see saab hakkama väga suurte sisenditega?
Aeganõudvad võrdlused peatatakse 2,5 sekundi pärast. Väga suured juhuslikud kleepimised piiratakse mahuliselt, et leht jääks reageerivaks. Ühe sisendi limiit on 300 000 märki.
Kas JSON-režiim eirab objektide võtmete järjekorda?
Struktureeritud muudatuste loend võrdleb objektide võtmeid nime järgi, seega ainuüksi võtmete järjekorda ei loeta sisuliseks muudatuseks. Massiive võrreldakse positsiooni järgi.
Kuhu minu sisestatud andmed saadetakse?
Teie teksti ja JSON-i võrreldakse otse brauseris. Midagi ei laadita BroBroGo serverisse, mis tagab andmete privaatsuse töötlemise ajal.