JSON ডিফ ও তুলনা
দুটি JSON নথি তুলনা করুন এবং যোগ হওয়া, মুছে যাওয়া ও পরিবর্তিত কী-পথ হাইলাইট করুন।
JSON ডিফ ও তুলনা — দুটি JSON নথি পাশাপাশি পেস্ট করুন, আর এই টুলটি সাধারণ লাইন-বাই-লাইন ডিফের বদলে কী-ধরে-কী কাঠামোগত তুলনা করে, ফলে কী পুনর্বিন্যাস বা ফাঁকা জায়গা কখনো ভুয়া পরিবর্তন তৈরি করে না। প্রতিটি পার্থক্য তার সঠিক পথ অনুযায়ী জানানো হয়, যেমন user.name বা items[0], এবং যোগ হওয়া, মুছে যাওয়া বা পরিবর্তিত হিসেবে চিহ্নিত করা হয়। সবকিছু সম্পূর্ণভাবে আপনার ব্রাউজারেই পার্স ও তুলনা করা হয়, তাই আপনার ডেটা কখনো আপনার ডিভাইস ছেড়ে যায় না।
JSON ডিফ ও তুলনা কী?
JSON Diff একটি বিনামূল্যের, ব্রাউজারে চলা টুল যা দুটি JSON মানের মধ্যে অর্থগত পার্থক্য খুঁজে বের করে। টেক্সট লাইন-বাই-লাইন তুলনার বদলে এটি দুটি গাছই ঘুরে দেখে এবং কী-গুলোকে নাম দিয়ে আর অ্যারে আইটেমগুলোকে ইনডেক্স দিয়ে মেলায়, এবং প্রতিটি পরিবর্তন config.server.port বা list[2] এর মতো ডট-যুক্ত পথ দিয়ে জানায়। ব্যাকএন্ড ও API ডেভেলপাররা দুটি API প্রতিক্রিয়া, কনফিগ ফাইল বা টেস্ট ডেটার মধ্যে ঠিক কী বদলেছে তা দেখতে এটি ব্যবহার করেন, আর QA প্রকৌশলী ও ডেটা বিশ্লেষকরা কোনো রূপান্তর বা মাইগ্রেশন প্রত্যাশিত আউটপুট দিয়েছে কিনা তা নিশ্চিত করতে এটি ব্যবহার করেন। পরিবর্তনগুলো + / - / ~ লাইন হিসেবে পড়তে সিম্বল স্টাইল বেছে নিন, অথবা যোগ হওয়া, মুছে যাওয়া ও পরিবর্তিত হিসেবে চিহ্নিত করতে ওয়ার্ড স্টাইল বেছে নিন। অদলবদল বোতামটি বাম ও ডান ইনপুট উল্টে দেয় যাতে আপনি যেকোনো দিক থেকে ডিফ দেখতে পারেন।
JSON ডিফ ও তুলনা কীভাবে ব্যবহার করবেন
- মূল JSON বাম (মূল) বক্সে পেস্ট করুন।
- যে JSON-এর সঙ্গে তুলনা করতে চান তা ডান (পরিবর্তিত) বক্সে পেস্ট করুন।
- ফলাফল ব্লকে ডিফ পড়ুন, যেখানে প্রতিটি লাইন পরিবর্তিত পথ ও মান দেখায়।
- + / - / ~ চিহ্ন এবং যোগ হওয়া / মুছে যাওয়া / পরিবর্তিত শব্দের মধ্যে পাল্টাতে স্টাইল সেটিং ব্যবহার করুন।
- দুই দিক উল্টাতে অদলবদল ক্লিক করুন, বা সম্পূর্ণ ডিফ রিপোর্ট নিতে কপি ক্লিক করুন।
উদাহরণ
একটি মান পরিবর্তিত হয়েছে
ইনপুট
বাম: {"name":"Ada","age":30}
ডান: {"name":"Ada","age":31}আউটপুট
~ age: 30 -> 31
একটি কী যোগ হয়েছে এবং একটি মুছে গেছে
ইনপুট
বাম: {"a":1,"b":2}
ডান: {"a":1,"c":3}আউটপুট
- b: 2 + c: 3
পুনর্বিন্যস্ত কী অভিন্ন বলে গণ্য
ইনপুট
বাম: {"x":1,"y":2}
ডান: {"y":2,"x":1}আউটপুট
কোনো পার্থক্য নেই - দুটি নথি অভিন্ন।
সচরাচর জিজ্ঞাসিত প্রশ্ন
- আমার JSON কি কোনো সার্ভারে পাঠানো হয়?
- না। দুটি নথিই সম্পূর্ণভাবে আপনার ব্রাউজারে একটি ডিপ-ডিফ রুটিন দিয়ে পার্স ও তুলনা করা হয় যা আপনার ডিভাইসে চলে। কিছুই আপলোড হয় না, এবং টুলটি অফলাইনেও কাজ করতে থাকে।
- এটি সাধারণ টেক্সট ডিফ থেকে কীভাবে আলাদা?
- টেক্সট ডিফ লাইন তুলনা করে, তাই পুনরায় ফরম্যাট করা বা কী পুনর্বিন্যাস করা পরিবর্তনের মতো দেখায়। এই টুলটি পার্স করা কাঠামো তুলনা করে, অবজেক্ট কী নাম দিয়ে আর অ্যারে আইটেম অবস্থান দিয়ে মেলায়, ফলে কেবল প্রকৃত অর্থগত পার্থক্যই জানানো হয়।
- কী-এর ক্রম কি গুরুত্বপূর্ণ?
- না। একই কী ও মানসহ দুটি অবজেক্ট কী যে ক্রমে আসে তা নির্বিশেষে সমান বলে গণ্য হয়। তবে অ্যারে উপাদান ইনডেক্স দিয়ে তুলনা করা হয়, তাই কোনো অ্যারে পুনর্বিন্যাস করা পরিবর্তন হিসেবে গণ্য হয়।
- প্রতিটি লাইন কী বোঝায়?
- যোগ হওয়া পথ কেবল ডানে থাকে, মুছে যাওয়া পথ কেবল বামে থাকে, আর পরিবর্তিত পথের প্রতিটি দিকে ভিন্ন মান থাকে। সিম্বল স্টাইলে এগুলো +, - ও ~ হিসেবে দেখায়; ওয়ার্ড স্টাইলে এগুলো পূর্ণ শব্দে লেখা হয়।
- আমার JSON অবৈধ হলে কী হবে?
- কোনো একটি দিক পার্স করতে ব্যর্থ হলে, একটি ত্রুটি নোট আপনাকে জানায় কোন দিক (বাম বা ডান) অবৈধ যাতে আপনি তা ঠিক করতে পারেন। দুই দিক ঠিকভাবে পার্স হওয়ামাত্র ডিফ স্বয়ংক্রিয়ভাবে আপডেট হয়।
সম্পর্কিত টুল
Base32 / Base58 এনকোড / ডিকোড
টেক্সটকে Base32 (RFC 4648) বা Base58 (বিটকয়েন বর্ণমালা)-তে এনকোড করুন এবং দুটির যেকোনোটিকে আবার টেক্সটে ডিকোড করুন, সম্পূর্ণ UTF-8 নিরাপদ এবং পুরোপুরি আপনার ব্রাউজারে।
Base64 এনকোড / ডিকোড
Base64 এনকোড বা ডিকোড করুন (UTF-8 নিরাপদ) — URL-নিরাপদ বর্ণমালা, ঐচ্ছিক প্যাডিং, 64/76 লাইন র্যাপিং, লাইভ বাইট ও অক্ষর গণনা এবং হেক্স/বাইনারি বাইট ভিউ সহ।
কেস কনভার্টার ও কাউন্টার
টেক্সটকে UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case ইত্যাদিতে রূপান্তর করুন এবং অক্ষর, শব্দ ও লাইন গণনা করুন।
কোড ফরম্যাটার ও মিনিফায়ার
আপনার ব্রাউজারেই HTML, CSS এবং JavaScript তাৎক্ষণিকভাবে সুন্দর করুন বা মিনিফাই করুন, 2-স্পেস, 4-স্পেস বা ট্যাব ইন্ডেন্টেশন এবং Terser-চালিত JavaScript কম্প্রেশন সহ।