RFC 8259 থেকে JSON ব্যাকরণের সীমানা পড়া
RFC 8259-এর ব্যাকরণ প্রোডাকশনগুলো সহজ ভাষায় অনুবাদ: কোন অক্ষর সরাসরি থাকতে পারে, কোনটি এস্কেপ করতে হবে, আর স্পেসিফিকেশন জেনে কোথায় ছাড় দিয়েছে।
RFC 8259 ও ECMA-404 থেকে শুরু করে এই বিভাগে JSON-এর ব্যাকরণ, টাইপ, এনকোডিং এবং পার্সিংয়ের সীমা তুলে ধরা হয়েছে — প্রতিটি JSON কাজের ভিত্তি এখানেই।
6টি নিবন্ধRFC 8259-এর ব্যাকরণ প্রোডাকশনগুলো সহজ ভাষায় অনুবাদ: কোন অক্ষর সরাসরি থাকতে পারে, কোনটি এস্কেপ করতে হবে, আর স্পেসিফিকেশন জেনে কোথায় ছাড় দিয়েছে।
JSON-এ মাত্র ছয়টি টাইপ, কিন্তু প্রতিটিই নীরবে আপনার ডেটার আকার বদলে দিতে পারে। এই নিবন্ধে সংখ্যা, স্ট্রিং ও null-এর ফাঁদ একসঙ্গে আলোচনা করা হয়েছে।
JSON.parse এররকে লাইন ও অক্ষরে অনুবাদ করুন, তারপর ছয়টি কারণ বাদ দিন: ট্রেইলিং কমা, সিঙ্গেল কোট, কমেন্ট, কন্ট্রোল ক্যারেক্টার, BOM ও কাটা-পড়া বিষয়বস্তু।
নোটপ্যাডে লেখা এলোমেলো অক্ষর থেকে শুরু করে JSON ফাইল খোলার তিনটি উপায়, সম্পাদনার পর কিছু ভেঙেছে কি না নিশ্চিত করার পদ্ধতি এবং বিশাল ফাইল না খুললে কী করবেন।
ঠিক JSON.parse মেসেজ দেখে কারণ খুঁজুন: Chrome, Firefox ও Safari-তে ১২টি ঘন ঘন এরর, সঙ্গে HTML এরর পেজ, কাটা-পড়া ও ডাবল পার্সিং।
একটি 4 MB এক-লাইন JSON ফাইল line 1 column 23611 রিপোর্ট করে, যা কিছুই বলে না। স্থানীয়ভাবে মাপা নমুনা ব্যবহার করে এই নির্দেশিকাটি ব্যাখ্যা করে Python, Node ও jq তিনটি ভিন্ন সংখ্যা কেন দেয়, একটি ক্যারেক্টার অফসেট কীভাবে সরাসরি ভাঙা বাইটে পৌঁছায়, আর সিনট্যাক্স ঠিক করার পরেও কোন তিনটি ফাঁদ নীরবে ডেটা নষ্ট করে।