ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

JSON මිනිෆයර්වල ලොකු අංක දෝෂය හඳුනාගන්න – නිවැරදි විසඳුම මෙන්න!

JSON මිනිෆයර්වල ලොකු අංක දෝෂය හඳුනාගන්න – නිවැරදි විසඳුම මෙන්න!

ඔබේ යෙදුම දත්ත ගබඩා හෝ API හරහා විශාල අංක (ID) යොමු කරනවා නම්, JSON මිනිෆයර් එකක් ඔබ නොදැනුවත් කරමින් අංකය වෙනස් කර දීමට ඉඩ තිබේ. මේක නිසා පසුදා ඔබේ සෙවුම්, විදේශීය යතුරු හෝ සේවා ඇමතුම් වැරදිව පවත්වාගත හැක.

බොහෝ මිනිෆයර්, ඔන්ලයින් ප්‍රසිද්ධ ඒවා ඇතුළු, JSON.stringify(JSON.parse(input)) යන ක්‍රමය භාවිතා කරයි. මෙය අන්තර්ගතය පාර්ස් කර පසු නැවත සෙරීඝලනය කරන අතර, JavaScript හි Number.MAX_SAFE_INTEGER (9,007,199,254,740,991) ඉක්මවන අංකයක් තිබේ නම්, පාර්ස් කිරීමේදී එය 9007199254740992 ලෙස රවුන්ඩ් වෙයි. අර්ථය, එක අංකයක් සම්පූර්ණයෙන්ම වෙනස් වීමයි, පවා වැරැද්දක් හෝ අනතුරු ඇඟවීමක් නොමැතිව.

මෙම ගැටලුව තොරතුරු සම්බන්ධතා, දත්ත සම්බන්ධතා, API ඇමතුම් වැනි ක්ෂේත්‍රවල අඩුපාඩු ඇති කරයි. ඔබේ යෙදුම අංකය මත පදනම් වූ සොයා ගැනීමක් කරන්නේ නම්, අසලින්ම වැරදි ප්‍රතිඵල ලැබෙයි. එය හඳුනාගැනීමට කාලය ගත වීම, නිවැරදිව ලොග් කිරීම නොකළහොත්, බොහෝ වෙලාවට “JSON මිනිෆයර් එකේ ගැටලුවක්” කියලා හඳුන්වයි.

මෙම ගැටලුවට සරල විසඳුමක් ඇත – JSON.parse/JSON.stringify මඟින් නොගොඩනැගී, අක්ෂර මට්ටමේ මිනිෆයර් එකක් භාවිතා කිරීම. කේත උදාහරණයක් මෙසේය:

function minifyPreservingLiterals(raw) {
  let out = '', inString = false, escaped = false;
  for (const ch of raw) {
    if (inString) {
      out += ch;
      if (escaped) escaped = false;
      else if (ch === '\\') escaped = true;
      else if (ch === '"') inString = false;
      continue;
    }
    if (ch === '"') { inString = true; out += ch; continue; }
    if (' \n\r\t'.includes(ch)) continue;
    out += ch;
  }
  return out;
}

මෙම ක්‍රමය ව whitespaces ඉවත් කරයි, නමුත් සියලු අංක සහ පදනම් තොරතුරු එම ආකාරයෙන්ම රැකගනී. ඔබට තවදුරටත් JSON.parse භාවිතා කර පරික්ෂා කිරීමේදී වැරැද්දක් පෙන්වන්න පුළුවන්, නමුත් අවසන් ප්‍රතිඵල ලෙස අක්ෂර මට්ටමේ මිනිෆයඩ් එක භාවිතා කරන්න.

මම මේ ක්‍රමය අන්තර්ජාලයේ නොමිලේ ලබා ගත හැකි JSON මිනිෆයර් එකකට එක් කර ඇත. එය පූර්ණයෙන්ම client‑side ක්‍රියා කරයි, කිසිදු දත්ත සර්වර් එකට යවන්නේ නැත, එබැවින් ඔබේ ගෝප්‍යතාව රැකගත හැක.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • සිංහල පරිශීලකයන්ට විශාල ID සමඟ දත්ත සමුදා කළමනාකරණය කිරීමේදී අඩුපාඩු වැළැක්වීම.
  • ලෝකය පුරා ව්‍යාපාරික API ගත කිරීමේදී ශ්‍රී ලාංකීය සංවර්ධකයින්ට නිවැරදි දත්ත පාරිභෝගිකත්වයක් ලබාදීම.
  • ඉගෙනුම් ආයතන වලට JSON පාරිභෝගිකත්වයේ සංකීර්ණත්වය තේරුම් ගැනීමට නව පාඨමාලා නිර්මාණය කිරීමේ අවස්ථාව.

ඔබේ ව්‍යාපාරය, අධ්‍යාපන ආයතනය, හෝ පුද්ගලික ව්‍යාපෘතියක් හෝ, මේ මිනිෆයර් ක්‍රමය භාවිතා කිරීමෙන් අකාරාත්මක දෝෂයන් පසුබැසීමේ අවදානම අඩු කරයි. දැන් ඔබේ JSON ගොනු පරීක්ෂා කර, අංකයන් නිවැරදිව රැකගන්න.

💡 ඔබේ JSON මිනිෆයර් එක දැන් පරීක්ෂා කර නඩත්තු කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#JSON #Minifier #Bug #JavaScript #Developers