⊗jsSpExcJSE 149 of 294 menu

JSON එකක් සමඟ JavaScript හි උදාහරණයක්

අපට යම් ආකාරයකින් බාහිර ලෝකයෙන් නිෂ්පාදනයක් සමඟ JSON පැමිණිය හැකිය:

let json = '{"product": "apple", "price": 1000, "amount": 5}'; let product = JSON.parse(json); alert(product.price * product.amount);

JSON නිවැරදි නොවේ නම්, JSON.parse ක්‍රමය ව්‍යතිරේකයක් උසිගන්වනු ඇතැයි ඔබ දැනටමත් දනී. අපි එම ව්‍යතිරේකය අල්ලා ගනිමු:

try { let json = '{"product": "apple", "price": 1000, "amount": 5}'; let product = JSON.parse(json); alert(product.price * product.amount); } catch (error) { // ව්‍යතිරේකයට කෙසේ හෝ ප්‍රතික්‍රියා කරන්න }

කෙසේ වෙතත්, JSON එක නිවැරදි විය හැකි නමුත් අපට අවශ්‍ය ක්ෂේත්‍ර අඩංගු නොවේ, උදාහරණයක් ලෙස, මිල සඳහා ක්ෂේත්‍රයක් නොමැත:

let json = '{"product": "apple", "amount": 5}'; // මිල නැත

මෙය ද ව්‍යතිරේක තත්වයක් යැයි කියමු සහ එවැනි අවස්ථාවන්හිදී අපි අපගේම පරිශීලක ව්‍යතිරේකයක් උසිගන්වමු:

try { let json = '{"product": "apple", "amount": 5}'; let product = JSON.parse(json); if (product.price !== undefined && product.amount !== undefined) { alert(product.price * product.amount); } else { throw { name: 'ProductCostError', message: 'නිෂ්පාදනයේ මිල හෝ ප්‍රමාණය නොමැත' }; } } catch (error) { // ව්‍යතිරේකයට කෙසේ හෝ ප්‍රතික්‍රියා කරන්න }

දැන් catch කොටස ව්‍යතිරේක වර්ග දෙකක් ලබා ගනී: JSON සම්පූර්ණයෙන්ම නිවැරදි නොවේ නම්, එවිට SyntaxError වර්ගයේ ව්‍යතිරේකයක් ඇති වේ, නැතහොත් JSON නිවැරදි, නමුත් අවශ්‍ය ක්ෂේත්‍ර අඩංගු නොවේ, එවිට ProductCostError වර්ගයේ ව්‍යතිරේකයක් ඇති වේ.

අපි catch කොටසේදී මෙම ව්‍යතිරේක වර්ග අල්ලා ගනිමු:

try { let json = '{"product": "apple", "amount": 5}'; let product = JSON.parse(json); if (product.price !== undefined && product.amount !== undefined) { alert(product.price * product.amount); } else { throw { name: 'ProductCostError', message: 'නිෂ්පාදනයේ මිල හෝ ප්‍රමාණය නොමැත' }; } } catch (error) { if (error.name == 'SyntaxError') { alert('නිවැරදි නොවන JSON නිෂ්පාදනය'); } else if (error.name == 'ProductCostError') { alert('නිෂ්පාදනයට මිල හෝ ප්‍රමාණය නොමැත'); } }

ඔබ වෙත පහත ආකාරයේ JSON පැමිණිය හැකිය:

let json = `[ { "name": "user1", "age": 25, "salary": 1000 }, { "name": "user2", "age": 26, "salary": 2000 }, { "name": "user3", "age": 27, "salary": 3000 } ]`;

විග්‍රහ කිරීමේදී මෙම JSON හි සාමාන්‍ය නිවැරදි බව පරීක්ෂා කරන්න, පසුව විග්‍රහ කිරීමෙන් පසු ප්‍රතිඵලය අරාවක් ද, වෙනත් යමක් නොවේ දැයි පරීක්ෂා කරන්න. ප්‍රතිඵලය අරාවක් නොවේ නම් - ව්‍යතිරේකයක් උසිගන්වන්න.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න