কীভাবে ব্যবহার করবেন
- বাঁ দিকে আসল JSON এবং ডান দিকে বদলানো JSON পেস্ট করুন।
- Array-এর ক্রম গুরুত্বপূর্ণ কি না বেছে নিন।
- যোগ করা (+), বাদ দেওয়া (−) এবং বদলানো (~) মানের তালিকা পড়ুন, অথবা রিপোর্ট হিসেবে কপি করুন।
অপশনগুলোর ব্যাখ্যা
- অবস্থান অনুযায়ী তুলনা
- Array-এর item-গুলো একে একে তুলনা করা হয়। তাই শুরুতে একটি item ঢোকালে তার পরের প্রতিটি অবস্থান বদলে যায়।
- ক্রম উপেক্ষা করুন
- Array-কে ক্রমহীন collection হিসেবে ধরা হয়; শুধু যে item একটি পাশে আছে কিন্তু অন্য পাশে নেই, সেগুলো দেখানো হয়। ID, tag বা record-এর তালিকার জন্য উপযোগী।
- Path
- Path-এ JSONPath notation ব্যবহার করা হয়: $ হলো root, .key হলো property, [0] হলো array item এবং ["a b"] হলো সাধারণ নাম নয় এমন key।
উদাহরণ
এই দুটি ডকুমেন্ট নিন, যেখানে কী-এর ক্রম আলাদা এবং কিছু মান ভিন্ন:
{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}
অবস্থান ধরে তুলনা করলে ফলাফল:
| পরিবর্তন | পাথ | আগে | পরে |
|---|---|---|---|
| ~ | $.age |
36 | 37 |
| ~ | $.tags[0] |
“x” | “y” |
| ~ | $.tags[1] |
“y” | “x” |
| + | $.address.zip |
“00100” | |
| ~ | $["first name"] |
“A” | “B” |
| + | $.role |
“admin” |
«ক্রম উপেক্ষা করুন» চালু করলে tags-এর দুটি পরিবর্তন উধাও হয়, কারণ দুটি অ্যারেতেই একই দুটি মান আছে। দুই মোডেই কী-এর ক্রমে কিছু যায় আসে না। যে মানের ধরন বদলায়, যেমন সংখ্যা স্ট্রিং হয়ে যাওয়া বা অবজেক্ট অ্যারে হয়ে যাওয়া, তা তার নিজের পাথে একটিমাত্র পরিবর্তন হিসেবে দেখানো হয়।
সচরাচর জিজ্ঞাসিত প্রশ্ন
এটি text diff-এর থেকে কীভাবে আলাদা?
Text diff লাইন তুলনা করে, তাই formatting ও key-এর ক্রমও পরিবর্তন হিসেবে দেখা যায়। JSON Compare দুই পাশের JSON parse করে ডেটা নিজেই তুলনা করে।
1 এবং "1"-কে কি সমান ধরা হয়?
না। একটি number এবং একটি string আলাদা JSON value, তাই পরিবর্তনের সঙ্গে দুটি মানই দেখানো হয়।
আমার ডেটা কি আপলোড করা হয়?
না। দুটি ডকুমেন্ট আপনার ব্রাউজারেই তুলনা করা হয়।
গোপনীয়তা
এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।