একটি যাচাইকারী যে শুধু “অপ্রত্যাশিত টোকেন” বলে, সে আপনাকে বলেছে সে কোথায় হার মেনেছে, না কী ভুল করেছে। এরা প্রায়ই ভিন্ন স্থান। একটি অনুপস্থিত কমা সাধারণত পরবর্তী টোকেনে রিপোর্ট হয়, অনুপস্থিত কমায় নয়, এবং একটি খোলা বন্ধ বন্ধনী ফাইলের শেষে রিপোর্ট হয় যে লাইনে এটি খোলা হয়েছে তা নির্বিশেষে।
JSON যাচাইকারী কী রিপোর্ট করে
একটি ডকুমেন্ট পেস্ট করুন এবং যাচাই করুন চাপুন, অথবা শুধু টাইপ করা
বন্ধ করুন কারণ যাচাই স্বয়ংক্রিয়ভাবে চলে। ফলাফল প্রকৃত কাঠামোর নাম
দেয় যা ভুল: একক উদ্ধৃতি চিহ্ন, একটি অনুদ্ধৃত কী, একটি ট্রেইলিং কমা,
ভুল কেসের কীওয়ার্ড যেমন True বা NULL, NaN বা Infinity, একটি
প্রমুখ শূন্য, বা একটি ভুল এস্কেপ সিকোয়েন্স, প্রত্যেক যে লাইন ও
কলামে এটি শুরু হয়।
ডুপ্লিকেট কী, যে সম্পর্কে অধিকাংশ যাচাইকারী কিছু বলে না
ডুপ্লিকেট কী বৈধ JSON। স্পেসিফিকেশন এটির অনুমতি দেয়, এবং আপনি ব্যবহার করতে সম্ভাব্য প্রতিটি পার্সার শেষ মান রাখে এবং পূর্ববর্তীকে চুপচাপ বর্জন করে। এর মানে হলো তথ্য একটি সম্পূর্ণ বৈধ ডকুমেন্ট থেকে অদৃশ্য হতে পারে, কোথাও কোনো ত্রুটি ছাড়াই। পেস্ট করুন
{"region":"eu-west-1","retries":3,"region":"us-east-1"}
এবং যাচাইকারী এটিকে বৈধ JSON হিসাবে রিপোর্ট করে, একটি লাইন, এবং পৃথকভাবে সতর্ক করে:
ডুপ্লিকেট কী “region”। শেষ মান জিতে, লাইন 1-এর পূর্ববর্তী বর্জন করা হয়েছে।
এটি একটি সতর্কতা, ত্রুটি নয়, কারণ স্পেসিফিকেশন সত্যিই এটির অনুমতি দেয়। কিন্তু এটি সেই ধরনের বাগ যা অদৃশ্য থাকে যতক্ষণ না ডাউনস্ট্রিমে কিছু ভুল মান পড়ে, এবং অধিকাংশ সরঞ্জাম এটি কখনো উল্লেখ করে না।
ত্রুটি বনাম সতর্কতা কী গণনা করে
ত্রুটির মানে হলো ডকুমেন্ট বৈধ JSON নয় এবং ডাউনস্ট্রিমে কিছুই এটি পার্স করার চেষ্টা করবে না: সিনট্যাক্সের সমস্যা, একটি অবৈধ অক্ষর, একটি কাঠামোগত ভুল। সতর্কতার মানে হলো ডকুমেন্ট পার্স হয়, কিন্তু এর সম্পর্কে কিছু একটা আছে যা দ্বিতীয় একবার দেখার যোগ্য, যেমন ডুপ্লিকেট কী। শীর্ষের স্থিতি লাইন আপনাকে বলে আপনি কী দেখছেন, এবং ত্রুটিগুলো সম্পাদকের গাটারে ব্যর্থ লাইন চিহ্নিত করে যাতে আপনি স্ক্রল না করেই এটি খুঁজে পান।
কমিট বা ডিপ্লয়ের আগে এটি কেন গুরুত্বপূর্ণ
কনফিগ ফাইল, API ফিক্সচার এবং জেনারেট করা তথ্য সবই শেষ পর্যন্ত একটি JSON পার্সার দিয়ে যায়, সাধারণত প্রোডাকশনে, যেখানে ত্রুটি বার্তা হলো রানটাইমের ডিফল্ট পার্সার আপনাকে যা দেয়। এখানে একটি ট্রেইলিং কমা বা ডুপ্লিকেট কী ধরা, একটি বার্তা দিয়ে যা ভুলের নাম দেয়, ডিপ্লয়ের পরে একই সমস্যার ডিবাগ করার চেয়ে দ্রুত।