JSON Diff

दो JSON दस्तावेज़ों की तुलना करें और देखें कि क्या जोड़ा, हटाया और बदला गया — पूरी तरह आपके ब्राउज़र में।

दोनों JSON दस्तावेज़ आपके ब्राउज़र में लोकल रूप से पार्स और diff किए जाते हैं और कभी अपलोड नहीं होते, लेकिन किसी भी ऑनलाइन टूल में सीक्रेट या प्रोडक्शन क्रेडेंशियल पेस्ट करने से बचें।

परिणाम को फिर से आकार देना है? JSON Formatter आज़माएँ।

JSON Diff के बारे में

JSON Diff दो JSON दस्तावेज़ों की तुलना करता है और लाइन-दर-लाइन टेक्स्ट diff के बजाय एक संरचनात्मक diff दिखाता है। अपना मूल JSON बाईं ओर और बदला हुआ संस्करण दाईं ओर पेस्ट करें, और यह दोनों को पार्स करके ठीक-ठीक बताता है कि कौन से मान जोड़े गए, हटाए गए, बदले गए, या जिनका टाइप बदला गया — हर एक user.roles[2] जैसे पाथ के साथ। चूँकि तुलना सेमांटिक है, ऑब्जेक्ट कीज़ का क्रम बदलना कभी अंतर के रूप में नहीं दिखता, इसलिए आपको केवल वही बदलाव दिखते हैं जो असल में मायने रखते हैं। ऐरे को सेट के रूप में तुलना करने के लिए Ignore array order चालू करें, या दोनों पक्षों को साइड-बाय-साइड व्यू में सामान्य करने के लिए Sort keys चालू करें। यह API रिस्पॉन्स, कॉन्फ़िग फ़ाइलों और फ़िक्स्चर का diff करने वाले डेवलपर्स के लिए बनाया गया है। सब कुछ आपके ब्राउज़र में लोकल रूप से चलता है, इसलिए आपका पेस्ट किया गया JSON कभी अपलोड नहीं होता और आपके डिवाइस पर ही रहता है।

विशेषताएँ

JSON Diff का उपयोग कैसे करें

  1. मूल JSON को बाईं ओर के Original बॉक्स में पेस्ट करें।
  2. अपडेट किया गया JSON दाईं ओर के Changed बॉक्स में पेस्ट करें।
  3. रंगीन diff पढ़ें: जोड़े के लिए हरा, हटाए के लिए लाल, बदले गए मानों के लिए एम्बर।
  4. यदि क्रम को अंतर नहीं माना जाना चाहिए तो Ignore array order या Sort keys टॉगल करें।
  5. दोनों फ़ॉर्मैट किए गए दस्तावेज़ों की तुलना के लिए Side by side पर जाएँ, या diff सारांश कॉपी करें।

उदाहरण

इनपुट

// Original
{ "name": "Ada", "roles": ["admin"], "active": 1 }

// Changed
{ "active": "1", "name": "Ada", "roles": ["admin", "editor"] }

आउटपुट

+ roles[1]: "editor"
~ active: 1 → "1"   (type changed)

क्रम बदली कीज़ नज़रअंदाज़ की जाती हैं; एक नया ऐरे आइटम जुड़ता है और active नंबर से स्ट्रिंग में बदल जाता है।

सामान्य त्रुटियाँ और समस्या निवारण

अक्सर पूछे जाने वाले प्रश्न

क्या JSON Diff ऑब्जेक्ट कीज़ का क्रम नज़रअंदाज़ करता है?
हाँ। तुलना सेमांटिक है, इसलिए समान कीज़ और मानों वाले दो ऑब्जेक्ट की-क्रम से स्वतंत्र रूप से बराबर होते हैं। केवल असली जोड़, हटाव और मान बदलाव बताए जाते हैं, हर एक अपने पाथ के साथ।
JSON Diff अलग क्रम वाले ऐरे को कैसे संभालता है?
डिफ़ॉल्ट रूप से ऐरे स्थिति के अनुसार तुलना होते हैं, इसलिए तत्वों का क्रम बदलना बदलावों के रूप में दिखता है। ऐरे को मल्टीसेट के रूप में तुलना करने के लिए Ignore array order चालू करें, जहाँ केवल वास्तव में जोड़े या हटाए गए सदस्य चिह्नित होते हैं।
1 और "1" अलग क्यों दिखाए जाते हैं?
क्योंकि उनके JSON टाइप भिन्न हैं — एक नंबर है और दूसरा स्ट्रिंग। JSON Diff इसे एक टाइप बदलाव कहता है, जो सामान्य मान बदलाव से अलग होता है, ताकि आप API रिस्पॉन्स में गलती से स्ट्रिंग बने नंबर पकड़ सकें।
diff में user.roles[2] जैसा पाथ क्या मतलब रखता है?
यह बदलाव की ठीक जगह बताता है: की user, फिर उसका roles ऐरे, फिर इंडेक्स 2 पर तत्व। ऑब्जेक्ट कीज़ डॉट का उपयोग करती हैं और ऐरे तत्व ब्रैकेट वाले इंडेक्स का।
क्या मैं गहराई से नेस्टेड JSON और नेस्टेड ऐरे की तुलना कर सकता हूँ?
हाँ। JSON Diff किसी भी गहराई के नेस्टेड ऑब्जेक्ट और ऐरे के माध्यम से दोनों दस्तावेज़ों को पुनरावर्ती रूप से चलता है, हर बदलाव को उसके पूरे पाथ पर बताता है ताकि बड़े, गहराई से नेस्टेड पेलोड पठनीय रहें।
क्या JSON Diff में पेस्ट किया गया JSON कहीं अपलोड होता है?
नहीं। दोनों दस्तावेज़ पूरी तरह आपके ब्राउज़र में पार्स और तुलना किए जाते हैं, इसलिए आपका पेस्ट किया गया JSON — किसी भी संवेदनशील फ़ील्ड सहित — आपके डिवाइस पर ही रहता है और कभी सर्वर पर नहीं भेजा जाता।

संबंधित टूल

सभी ArrayKit टूल