একটি JavaScript সোর্স ফাইল থেকে কপি করা ডকুমেন্ট, একটি কমেন্টেড কনফিগ, বা হাতে সম্পাদিত একটি ফিক্সচার প্রায়ই প্রায় JSON: কোয়োট বিহীন কী, একক কোয়োট, একটি ট্রেইলিং কমা, হয়তো একটি কমেন্ট যা বলে কোন ফিল্ড কী করে। এর কোনোটিই বৈধ JSON নয়, এবং একটি বড় ফাইলে হাতে ঠিক করা কঠিন এবং সহজেই ভুল হতে পারে।
JSON মেরামত টুল কী ঠিক করে
ভাঙা ডকুমেন্ট পেস্ট করুন এবং মেরামত চাপুন। এটি কোয়োট বিহীন Object
কী, একক কোয়োট স্ট্রিং, ট্রেইলিং কমা, কমেন্ট (উভয় // এবং
/* */), ভুল কেস কীওয়ার্ড যেমন True এবং NULL, এবং JavaScript
মান NaN, Infinity এবং undefined হ্যান্ডেল করে, যাদের JSON এ
কোনো সমতুল্য নেই এবং null হয়ে যায়।
কেন চুপচাপে ঠিক করার পরিবর্তে প্রতিটি পরিবর্তন তালিকাভুক্ত করে
বেশিরভাগ মেরামত টুল চুপচাপে ঠিক করে এবং একটি ফলাফ� ফিরিয়ে দেয়, যা কিছুই শেখায় না এবং সেই ক্ষেত্রগুলো লুকিয়ে রাখে যেখানে মেরামত আপনি প্রকৃতপক্ষে যা চেয়েছিলেন তা ছিল না। এটি প্রতিটি পরিবর্তন তার লাইন এবং কলাম সহ তালিকাভুক্ত করে, তাই আপনি অন্ধ আস্থার পরিবর্তে ফলাফল যাচাই করতে পারেন। এটি পেস্ট করুন:
{
// account info
name: 'ana',
role: 'admin',
active: True,
meta: undefined,
}
এবং মেরামত রিটার্ন করে:
{ "name": "ana", "role": "admin", "active": true, "meta": null }
একটি তালিকা সহ যা ঠিক কী ঘটেছে তার নাম দিয়ে: কমেন্ট সরানো হয়েছে,
name এবং role কোয়োট পেয়েছে, উভয় একক কোয়োট স্ট্রিং ডাবল
কোয়োট হয়েছে, True true দিয়ে প্রতিস্থাপিত হয়েছে, undefined
null হয়েছে, এবং ট্রেইলিং কমা সরানো হয়েছে। দশটি সমস্যা, দশটি
লাইন-নম্বরযুক্ত এন্ট্রি।
যে পরিবর্তনটি আলাদাভাবে কল আউট করা হয়
একটি কমেন্ট সরানো বা কোয়োট স্টাইল পরিবর্তন করা আপনার ডকুমেন্টের
বানান পরিবর্তন করে, তার অর্থ নয়। undefined কে null দিয়ে
প্রতিস্থাপন করা আলাদা: এটি ডাটা প্রকৃতপক্ষে যা বলে তা পরিবর্তন
করে, কারণ JSON এ “এই কীটি কোনো মান ছাড়া বিদ্যমান ছিল” প্রকাশ করার
কোনো উপায় নেই। মেরামত টুল এই পার্থক্যটি তার নিজের বার্তায়
পৃথকভাবে চিহ্নিত করে পাংকচুয়েশন ফিক্সের সাথে একত্রিত করার
পরিবর্তে, তাই আপনি এটি লক্ষ্য করেন বাদ দিয়ে যান না।
কখন এটি সাহায্য করতে পারে না
একটি ডকুমেন্ট যদি এমনভাবে ভাঙা হয় যেটি উদ্ধার করা যায় না, যেমন একটি ব্র্যাকেট যা কখনই বন্ধ হয় না, টুলটি তা বলে এবং বাকি ত্রুটি দেখায় এমন কিছু ফিরিয়ে দেওয়ার পরিবর্তে যা এখনো পার্স করা যায় না। একটি মেরামত টুল যা সবসময় অপুনরুদ্ধারযোগ্য ইনপুটে সফলতা ফিরিয়ে দেয় সেটি একটির চেয়ে খারাপ যা স্বীকার করে এটি সম্পন্ন করতে পারেনি।