JSON डिफ़ कैसे इस्तेमाल करें
- बाईं ओर मूल डॉक्यूमेंट और दाईं ओर बदला हुआ डॉक्यूमेंट पेस्ट करें।
- अगर आपके डेटा में ऐरे की पोज़िशन मायने नहीं रखती तो "Ignore array order" पर टिक करें।
- सारांश, अंतर की तालिका और लाइन व्यू देखने के लिए Compare पर क्लिक करें।
- बदलावों को टिकट के साथ जोड़ना हो तो तालिका डाउनलोड कर लें।
JSON डिफ़ की खूबियाँ
- सिमैंटिक तुलना — कीज़ का क्रम, स्पेस और फ़ॉर्मेटिंग अनदेखी की जाती है
- हर अंतर JSON पाथ, बदलाव के प्रकार, पुरानी वैल्यू और नई वैल्यू के साथ सूचीबद्ध
- सेट जैसे ऐरे के लिए वैकल्पिक "ऐरे का क्रम अनदेखा करें" (ignore array order) मोड
- दोनों प्रिटी-प्रिंट किए डॉक्यूमेंट का लाइन-दर-लाइन डिफ़ व्यू
- जोड़ी गई, हटाई गई और बदली गई वैल्यू के सारांश काउंटर
- अंतर की तालिका को CSV के रूप में एक्सपोर्ट करता है
JSON डिफ़ का उदाहरण
कॉन्फ़िगरेशन के दो वर्ज़न की तुलना
इनपुट:
Left: {"version":"1.4.0","limits":{"rps":100}}
Right: {"limits":{"rps":150,"burst":200},"version":"1.5.0"}आउटपुट:
$.version changed "1.4.0" → "1.5.0"
$.limits.rps changed 100 → 150
$.limits.burst added → 200JSON डिफ़ के बारे में अक्सर पूछे जाने वाले सवाल
"सिमैंटिक" तुलना का क्या मतलब है?
दोनों डॉक्यूमेंट पार्स करके टेक्स्ट की तरह नहीं, डेटा की तरह तुलना किए जाते हैं। कीज़ का क्रम, स्पेस और इंडेंटेशन कभी अंतर नहीं माने जाते — सिर्फ़ असली वैल्यू ही मायने रखती हैं।
क्या मैं ऐरे आइटम का क्रम अनदेखा कर सकता हूँ?
"Ignore array order" चालू करें। फिर आइटम कंटेंट के आधार पर मिलाए जाते हैं, इसलिए ["a","b"] और ["b","a"] बराबर माने जाते हैं।
बदलाव के प्रकारों का क्या मतलब है?
Added: की सिर्फ़ दाईं ओर मौजूद है। Removed: सिर्फ़ बाईं ओर। Changed: दोनों ओर है पर वैल्यू अलग है। Type changed: वैल्यू का टाइप बदल गया, जैसे स्ट्रिंग से ऑब्जेक्ट।
अंतर कैसे बताए जाते हैं?
हर अंतर उसके JSON पाथ तथा पुरानी और नई वैल्यू के साथ सूचीबद्ध होता है, और दोनों प्रिटी-प्रिंट डॉक्यूमेंट का लाइन-दर-लाइन व्यू बदलावों को दृश्य रूप में हाइलाइट करता है।
तकनीकी नोट्स
दोनों इनपुट पार्स करके समानांतर रूप से ट्रैवर्स किए जाते हैं। ऑब्जेक्ट की तुलना कीज़ के आधार पर, ऐरे की इंडेक्स के आधार पर (या ऐरे का क्रम अनदेखा होने पर कैनोनिकल कंटेंट के आधार पर) और प्रिमिटिव की वैल्यू के आधार पर होती है। लाइन व्यू दोनों डॉक्यूमेंट को सॉर्ट की गई कीज़ के साथ प्रिटी-प्रिंट करता है और longest-common-subsequence डिफ़ चलाता है, जबकि बहुत बड़े इनपुट के लिए मोटे डिफ़ पर लौट आता है।