JSON ভিউয়ার

ঐচ্ছিক কী সাজানো ও সংকোচন/প্রসারণ নিয়ন্ত্রণসহ JSON ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই ও পরীক্ষা করুন।

ঐচ্ছিক কী সাজানো ও সংকোচন/প্রসারণ নিয়ন্ত্রণসহ JSON ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই ও পরীক্ষা করুন। ঐচ্ছিক কী সাজানো ও সংকোচন/প্রসারণ নিয়ন্ত্রণসহ JSON ডকুমেন্ট প্রিটি-প্রিন্ট, যাচাই ও পরীক্ষা করুন।

Array

        
    

পটভূমি

JSON কী এবং কেন আপনি এটি ভিন্নভাবে দেখতে চাইতে পারেন

JSON (JavaScript Object Notation) ওয়েবে কাঠামোবদ্ধ ডেটা আদানপ্রদানের সবচেয়ে সাধারণ টেক্সট ফরম্যাট: কনফিগারেশন ফাইল, API রেসপন্স, লগ রেকর্ড, ডকুমেন্ট স্টোর এবং আরও অনেক কিছু। এটি ছোট, মানব-পাঠযোগ্য এবং সহজেই মেশিন-পার্সযোগ্য, তাই প্রায় প্রতিটি আধুনিক সার্ভিস এটি ব্যবহার করে।

কাঁচা JSON ডকুমেন্ট নিজে থেকে খুব কমই কাজে লাগে। API ও টুল প্রায়ই হোয়াইটস্পেসহীন একটি একক লম্বা লাইন নির্গত করে, কারণ এটিই ক্ষুদ্রতম উপস্থাপনা। এমন ডকুমেন্ট এডিটরে খুললে এটি স্ক্যান করা কঠিন, অমিল ব্র্যাকেট খুঁজে পাওয়া কঠিন, আর ব্রেস গণনা করতে গিয়ে স্থান হারানো সহজ। একটি JSON ভিউয়ার ধারাবাহিক ইন্ডেন্টেশনসহ ডকুমেন্টটি পুনরায় নির্গত করে এটি সমাধান করে, যাতে কাঠামো এক নজরে স্পষ্ট হয়।

জানার মতো বৈশিষ্ট্য

প্রিটি প্রিন্টিং আপনাকে ইন্ডেন্টের আকার বেছে নিতে দেয় (সাধারণত দুই বা চার স্পেস) এবং সঙ্গে সঙ্গে ডকুমেন্ট পুনরায় রেন্ডার করে। কিছু ভিউয়ার কী বর্ণানুক্রমিকভাবে সাজাতেও দেয়, যা একই সার্ভিসের দুটি পেলোড তুলনার সময় অমূল্য: কীগুলো উল্লম্বভাবে সারিবদ্ধ হলে অবস্থান মিলিয়ে না নিয়ে মানের পার্থক্য স্ক্যান করতে পারেন। একটি স্ট্যাটস লাইন যা বাইট গণনা ও নোড গণনা জানায় তা উপযোগী যখন আপনি একটি 1 MB-সীমাবদ্ধ ফর্মে পেলোড পেস্ট করতে যাচ্ছেন: এটি টার্মিনাল না খুলেই ঠিক কত বড় তা বলে দেয়।

একটি ভিউয়ার একই সাথে ভ্যালিডেটর। JSON.parse দিয়ে পার্স করলে প্রথম অবৈধ টোকেনের সঠিক লাইন ও কলাম নির্দেশ করে একটি বর্ণনামূলক ত্রুটি ছুড়বে, তাই আপনার ডকুমেন্ট কেন লোড হতে অস্বীকার করে তা সঙ্গে সঙ্গে দেখতে পারেন। বেশিরভাগ প্রোডাকশন টুল একই বিন্দুতে ত্রুটি তৈরি করে, তাই এখানে দেখা বার্তা আপনার ব্যাকএন্ড, ফ্রন্টএন্ড ফ্রেমওয়ার্ক বা বিল্ড পাইপলাইন যা বলবে তার সাথে মেলে।

কাজের টিপস

গভীরভাবে নেস্টেড ডকুমেন্টের শীর্ষ স্তরে ফোকাস করতে সংকোচন/প্রসারণ নিয়ন্ত্রণ ব্যবহার করুন, আপনার প্রয়োজনীয় সেকশনে নিচে নামুন, এবং প্রয়োজনীয় শাখা কপি করুন। API রেসপন্স ডিবাগ করছেন, তাহলে তুলনার আগে কী সাজান যেন ভিন্ন অবস্থানে সন্নিবেশ ও মুছে ফেলা আপনার চোখকে বিভ্রান্ত না করে। সন্দেহ হলে ডকুমেন্টটি নতুন ট্যাবে পেস্ট করুন, ফর্ম্যাটিং সামঞ্জস্য করুন এবং ডকুমেন্টেশন বা কমিট বার্তার জন্য আউটপুটকে ক্যানোনিকাল সংস্করণ হিসেবে ব্যবহার করুন।

শুধুমাত্র নেটিভ JSON.parse ও JSON.stringify দিয়ে অভ্যন্তরীণভাবে নির্মিত। আপনার ইনপুট কখনো ব্রাউজার ছেড়ে যায় না।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

ভিউয়ার কি JSON ডকুমেন্টের ভেতরের কমেন্ট রাখে?
আদর্শ JSON কমেন্ট অনুমোদন করে না। আপনার ইনপুটে // বা /* */ কমেন্ট থাকলে পার্সার প্রত্যাখ্যান করবে; আগে সেগুলো সরান অথবা একটি নিবেদিত টুল দিয়ে ফাইলটি JSON5/JSONC-তে রূপান্তর করুন।
বাইট গণনা API থেকে কপি করা জিনিসের সাথে মেলে না কেন?
বাইট গণনা হলো রেন্ডার করা আউটপুটের আকার। 2-স্পেস ইন্ডেন্টে প্রিটি-প্রিন্ট সক্রিয় করলে আউটপুট বড় হয়। ওয়্যার সাইজ দরকার হলে আন-ইন্ডেন্টেড মোড ব্যবহার করুন।
ভিউয়ার কি খুব বড় JSON ডকুমেন্ট সামলাতে পারে?
হ্যাঁ। ভিউয়ার পুরো ডকুমেন্ট মেমরিতে পার্স করে পুনরায় নির্গত করে, তাই ব্যবহারিক সীমা আপনার ব্রাউজারের উপলব্ধ হিপ (আধুনিক ল্যাপটপে আরামে কয়েকশ MB)। মাল্টি-GB ডকুমেন্টের জন্য স্ট্রিমিং পদ্ধতি বিবেচনা করুন।
কী সাজালে কি ডকুমেন্টের অর্থ পরিবর্তন হবে?
না। JSON অবজেক্ট হলো নাম/মান জোড়ার ক্রমবিহীন সংগ্রহ। সাজানো শুধুমাত্র নির্গত টেক্সট পরিবর্তন করে, শব্দার্থ নয়। বেশিরভাগ পার্সার ক্রম নির্বিশেষে কী হ্যাশ ম্যাপে পড়ে।
নির্দিষ্ট কলামে পার্সার "Unexpected token" বলছে কেন?
JSON.parse তার বোঝা সম্ভব নয় এমন প্রথম টোকেন জানায়। এটি যে লাইন/কলাম দেয় তা হলো টোকেন যেখানে শুরু হয়; প্রকৃত ভুল প্রায়ই এক অক্ষর আগে (একটি আনএস্কেপড কোট, অনুপস্থিত কমা, বা অবজেক্টের শেষে অতিরিক্ত কমা)।
আমার ডকুমেন্ট কি সার্ভারে পাঠানো হয়?
না। নেটিভ JavaScript API-এর মাধ্যমে সব পার্সিং, সাজানো ও পুনঃফর্ম্যাটিং আপনার ব্রাউজারের ভেতরেই ঘটে। কোনো আপলোড ধাপ নেই।