JSON Patch जेनरेटर और Applier
दो document के बीच एक RFC 6902 JSON Patch जेनरेट करें, किसी source पर एक patch apply करें, या एक RFC 7386 merge patch चलाएँ — पूरी तरह आपके ब्राउज़र में।
JSON Patch जेनरेटर पूरी तरह आपके ब्राउज़र में चलता है। आपके द्वारा पेस्ट किए गए document और patch आपके डिवाइस पर diff और apply होते हैं और कभी ArrayKit पर अपलोड नहीं होते।
JSON Diff टूल खोलें
JSON Patch जेनरेटर के बारे में
JSON Patch जेनरेटर दो JSON document के बीच के अंतर को एक साफ़ RFC 6902 operation array में बदल देता है — वे add, remove, replace, move और copy चरण जो एक source को एक target में बदलते हैं। किसी source document पर एक patch चलाकर सटीक परिणाम देखने के लिए Apply मोड पर स्विच करें, जहाँ हर operation मान्य किया जाता है ताकि एक खराब op या एक विफल test चुपचाप छोड़ दिए जाने के बजाय पकड़ा जाए। एक तीसरा मोड RFC 7386 JSON Merge Patch लागू करता है, जहाँ एक null मान एक key हटाता है और object key-दर-key merge होते हैं। यह PATCH endpoint जोड़ने, config sync करने, या API बदलाव समीक्षा करने वाले डेवलपर्स के लिए बना है। आपका source, target और patch आपके डिवाइस पर प्रोसेस होते हैं और कभी ब्राउज़र से बाहर नहीं जाते।
विशेषताएँ
- दो JSON document से एक न्यूनतम RFC 6902 patch (add / remove / replace / move / copy) जेनरेट करें
- किसी source document पर एक patch array apply करें और patched परिणाम तुरंत देखें
- हर operation मान्य करता है — अज्ञात op, विफल test, और अनसुलझे path बताए जाते हैं, छोड़े नहीं जाते
- RFC 7386 JSON Merge Patch लागू करें जहाँ एक null मान एक key हटाता है
- key-क्रम-स्वतंत्र diff, इसलिए फिर से क्रमबद्ध key कभी शोर वाले operation नहीं बनाते
- patch या परिणाम कॉपी करें, या इसे एक .json फ़ाइल के रूप में डाउनलोड करें
- लाइव valid / invalid badge बताते हैं कि किस पक्ष में JSON syntax त्रुटि है
- सब कुछ आपके ब्राउज़र में चलता है — document और patch आपके डिवाइस पर रहते हैं
JSON Patch जेनरेटर का उपयोग कैसे करें
- दो document diff करने के लिए Generate, एक RFC 6902 patch चलाने के लिए Apply patch, या RFC 7386 के लिए Merge patch चुनें
- अपना source JSON बाईं ओर पेस्ट करें
- target document, patch array, या merge patch दाईं ओर पेस्ट करें
- जेनरेट किए गए operation या patched परिणाम पढ़ें, फिर इसे कॉपी या डाउनलोड करें
उदाहरण
इनपुट
source: {"active":true,"roles":["admin"]}
target: {"active":false,"roles":["admin","editor"]}
आउटपुट
[
{ "op": "replace", "path": "/active", "value": false },
{ "op": "add", "path": "/roles/1", "value": "editor" }
]
Generate वे RFC 6902 operation बनाता है जो source को target में बदल देते हैं।
सामान्य त्रुटियाँ और समस्या निवारण
- Apply मोड कहता है कि patch operation की एक array होनी चाहिए। — एक RFC 6902 patch एक JSON array है जैसे [ { "op": "add", "path": "/x", "value": 1 } ]। एक अकेले operation object को square bracket में लपेटें।
- एक remove या replace operation एक अनसुलझे path के साथ विफल होता है। — path पहले से source में मौजूद होना चाहिए। किसी typo की जाँच करें, याद रखें कि path एक slash से शुरू होते हैं, और key में / तथा ~ को ~1 और ~0 के रूप में escape करें।
- एक test operation पूरे patch को विफल कर देता है। — RFC 6902 patch सब-कुछ-या-कुछ-नहीं होते हैं। एक विफल test patch को रोक देता है, इसलिए आगे के operation चलने से पहले पुष्टि करें कि परीक्षित मान source से ठीक मेल खाता है।
- एक merge patch ने एक आइटम संपादित करने के बजाय पूरी array बदल दी। — RFC 7386 में element-स्तरीय array संपादन नहीं होते — एक merge patch में एक array पूरी array को अधिलेखित कर देती है। प्रति-आइटम बदलाव के लिए indexed path वाला एक RFC 6902 patch उपयोग करें।
अक्सर पूछे जाने वाले प्रश्न
- एक RFC 6902 JSON Patch क्या है?
- RFC 6902 एक format है जो किसी JSON document में बदलाव को operation की एक क्रमित array के रूप में वर्णित करता है — add, remove, replace, move, copy, और test — प्रत्येक एक JSON Pointer path को लक्षित करता है। array को source पर लागू करने से target बनता है।
- JSON Merge Patch (RFC 7386) JSON Patch (RFC 6902) से कैसे भिन्न है?
- एक merge patch स्वयं एक JSON object है जो target को प्रतिबिंबित करता है: मौजूद key सेट होती हैं, एक null मान एक key हटाता है, और array तथा scalar पूरी तरह बदल देते हैं। यह सरल है पर RFC 6902 operation की तरह मान move नहीं कर सकता या व्यक्तिगत array element संपादित नहीं कर सकता।
- मैं दो JSON document से एक patch कैसे जेनरेट करूँ?
- Generate पर बने रहें, मूल को बाईं ओर और बदले हुए संस्करण को दाईं ओर पेस्ट करें, और टूल न्यूनतम RFC 6902 operation array गणना करता है। diff key क्रम को नज़रअंदाज़ करता है, इसलिए फिर से क्रमबद्ध फ़ील्ड कोई फ़र्ज़ी operation नहीं बनाते।
- मेरा patch apply होने में विफल क्यों हुआ?
- operation source के विरुद्ध मान्य किए जाते हैं। सामान्य कारण हैं remove या replace के लिए एक ऐसा path जो मौजूद नहीं है, एक test operation जिसका मान मेल नहीं खाता, या एक अमान्य op नाम। टूल विशिष्ट त्रुटि दिखाता है ताकि आप उस operation को ठीक कर सकें।
- क्या एक merge patch सचमुच null के साथ एक key हटाता है?
- हाँ। RFC 7386 में, null पर सेट की गई एक property merge को उस key को परिणाम से हटाने का निर्देश देती है। एक असली null संग्रहीत करने के लिए आपको इसके बजाय एक RFC 6902 replace operation उपयोग करना होगा।
- क्या मेरे JSON document और patch कहीं अपलोड होते हैं?
- नहीं। जेनरेटर, patch applier, और merge-patch engine सभी आपके ब्राउज़र में स्थानीय रूप से चलते हैं। आपका source, target और patch डेटा आपके डिवाइस पर प्रोसेस होता है और कभी ArrayKit को नहीं भेजा जाता।
संबंधित टूल
सभी ArrayKit टूल