JSON Toolkit

null या फ़ील्ड छोड़ें

मुख्य बात: `null` कहता है कि फ़ील्ड मौजूद है पर उसका कोई मान नहीं; छोड़ने का मतलब है फ़ील्ड मौजूद ही नहीं। PATCH bodies, config merging और form prefill में यही अंतर काटता है।

मध्यम~3 मिनट पढ़ें2026-10-30 को प्रकाशित2026-10-30 को अपडेट किया गया
null और अनुपस्थित फ़ील्ड के बीच का अर्थ-अंतर

मुख्य बात: null तब भेजें जब उपभोक्ता को "साफ़ किया गया" और "अछूता" में अंतर करना हो — PATCH body में अनुपस्थिति फ़ील्ड को अछूता छोड़ती है और स्पष्ट null उसे साफ़ करता है — और प्रति फ़ील्ड एक परंपरा रखें ताकि responses और config merges स्थिर रहें।

अंतर

{ "nickname": null }

मौजूद, खाली। उपभोक्ता जानता है कि फ़ील्ड स्पष्ट रूप से साफ़ किया गया था।

{ }

अनुपस्थित। उपभोक्ता "कभी सेट नहीं हुआ" और "समर्थित नहीं" में अंतर नहीं कर सकता।

JavaScript में अंतर ठोस है:

'nickname' in obj          // false — अनुपस्थित
obj.nickname === null      // true  — मौजूद और null
obj.nickname === undefined // true  — दोनों स्थितियाँ

यह कहाँ मायने रखता है

PATCH bodies। {"nickname": null} nickname साफ़ करता है। {} कुछ नहीं बदलता। अगर handler "null" और "missing" को एक माने, तो उपयोगकर्ता फ़ील्ड कभी साफ़ नहीं कर सकते — वे केवल खाली string सेट कर सकते हैं, जो अलग चीज़ है।

मान से नहीं, key की मौजूदगी से लागू करें:

if (Object.hasOwn(patch, 'nickname')) {
  target.nickname = patch.nickname;   // null की अनुमति
}

Config merging। अनुपस्थिति डिफ़ॉल्ट विरासत में पाती है; null उसे स्पष्ट रूप से बंद करता है। Helm और Kubernetes values ठीक ऐसे ही व्यवहार करते हैं।

Form prefill। null खाली दिखता है और गायब फ़ील्ड भी, पर submission अलग है: पहले मान था, अब साफ़ किया → null भेजें; कभी भरा नहीं गया → छोड़ें। इस अंतर के बिना, साफ़ करना अछूता छोड़ने जैसा दिखता है।

परंपराएँ

स्थिति परंपरा
Response bodies null रखें; स्थिर आकार, सरल टाइप
PATCH requests null साफ़ करता है, अनुपस्थिति बनाए रखती है
PUT (पूर्ण प्रतिस्थापन) अनुपस्थिति का मतलब delete — पूरा document बदल दिया जाता है
Config merge अनुपस्थिति = डिफ़ॉल्ट, null = बंद
डेटाबेस अज्ञात या लागू न होने पर null; ज्ञात-खाली के लिए ''

Response के आकार स्थिर रखें। ऐसी list जिसमें कुछ items avatar रखते हैं और बाकी नहीं, हर call site पर 'avatar' in item जाँच थोप देती है। avatar: null उपभोग करना आसान है।

तीन चीज़ें जो नहीं करनी

null के लिए "" उपयोग न करें। अधिकतर क्षेत्रों में खाली nickname और अनसेट nickname अलग स्थितियाँ हैं।

Sentinel के रूप में 0 या -1 उपयोग न करें। शून्य एक वैध संख्या है, और sentinel आपकी हर computed average को बिगाड़ देता है।

प्रति endpoint परंपराएँ न मिलाएँ। दो परंपराओं का मतलब है हर client में दो code paths।

FAQ

null और छोड़े गए फ़ील्ड के बीच क्या तय करता है?

पूछें कि उपभोक्ता को "स्पष्ट रूप से साफ़ किया गया" और "कभी सेट नहीं हुआ" में अंतर करना है या नहीं। PATCH body में करना पड़ता है, इसलिए null साफ़ करता है और अनुपस्थिति बनाए रखती है; responses में null रखने से आकार स्थिर और client टाइप सरल रहते हैं।

PATCH endpoint साफ़ करना और अछूता छोड़ना कैसे पहचानता है?

मान नहीं, key की मौजूदगी जाँचें: Object.hasOwn(patch, 'nickname') बताता है कि फ़ील्ड भेजा गया था, और केवल तब असाइन करें, null सहित। अगर handler null और missing को एक माने, तो उपयोगकर्ता फ़ील्ड कभी साफ़ नहीं कर सकते और केवल खाली string पर लौट सकते हैं।

Response bodies में null क्यों रखना चाहिए?

स्थिर आकार का मतलब है client को हर optional key के लिए 'avatar' in item जाँच की ज़रूरत नहीं। जब कुछ list items avatar रखते हैं और बाकी छोड़ देते हैं, तो वह जाँच हर call site पर दोहराई जाती है और गलत होना आसान है।

आगे पढ़ें

मेल खाते उपकरण

संबंधित लेख

JSON API डेटा कॉन्ट्रैक्ट डिज़ाइन के मूल बिंदु

छह चीज़ें ऐसी हैं जिन्हें जारी होने के बाद बदलना बहुत कठिन है: प्रतिक्रिया एनवेलप, त्रुटि फ़ॉर्मेट, पेजिनेशन आकार, ID और समय का प्रतिनिधित्व, null बनाम अनुपस्थित का अर्थ, और वर्ज़न विकास।

मध्यम~13 मिनट पढ़ें2026-10-30 को अपडेट किया गया

JSON Pointer, Patch और Merge Patch

तीन छोटे विनिर्देश मिलकर एक change protocol बनाते हैं: Pointer locate करता है, Patch ठीक-ठीक edit करता है, Merge Patch आंशिक रूप से merge करता है। गलत चुनाव arrays और concurrency पर चोट पहुँचाता है।

मध्यम~12 मिनट पढ़ें2026-10-30 को अपडेट किया गया

टूल उपयोग FAQ: डेटा, फ़ाइलें और एक्सपोर्ट

क्या डेटा अपलोड होता है, कितनी बड़ी फ़ाइल काम करती है, क्या कुछ लोकल संग्रहीत होता है, चीनी escape में क्यों बदल जाता है: दस प्रश्न जो ऑनलाइन JSON टूल की असली सीमाएँ स्पष्ट करते हैं।

शुरुआती~10 मिनट पढ़ें2026-10-30 को अपडेट किया गया