JSON Repair Tool — टूटा हुआ JSON ठीक करें
JSON Repair Tool
Runs entirely in your browser. Nothing is uploaded.
क्या है
JSON repair का मतलब है टूटे हुए JSON को यांत्रिक रूप से ठीक करना, ताकि वह RFC 8259 में तय बोधव्याकरण के अनुरूप हो जाए — बिना अंदर के डेटा को बदले। Specification जानबूझकर सख्त है और parsers हर नियम लागू करते हैं। छह नियम वास्तविक दुनिया की लगभग सारी parse failures का कारण बनते हैं। पहला, closing brace या bracket से ठीक पहले comma नहीं आ सकता, भले ही कई प्रोग्रामिंग भाषाओं में यह वैध हो और हाथ से लिखे गए JSON में यही सबसे आम गड़बड़ी हो। दूसरा, object keys और string values दोनों को double quotes में होना चाहिए; single quotes और बिना quotes वाले identifiers अस्वीकार कर दिए जाते हैं। तीसरा, इस प्रारूप में comment की कोई syntax ही नहीं है, फिर भी बहुत लोग JavaScript के संदर्भ में JSON सीखकर उसमें // और /* */ लिख देते हैं। चौथा, object के हर member और array के हर element के बाद comma आना चाहिए सिवाय आखिरी के, और एक comma छूटने से ऐसी उलझन भरी गड़बड़ियों की श्रृंखला बन जाती है जो ग़लत लाइन का संकेत देती है। पाँचवाँ, control characters जैसे सीधे लिखे गए newline, carriage return और tab string के अंदर नहीं आ सकते; उन्हें \n, \r और \t के रूप में escape करना पड़ता है। छठा, पूरा दस्तावेज़ शुरू से अंत तक well formed होना चाहिए, इसलिए buffer limit या टूटे हुए export से कटा हुआ payload कभी parse नहीं होगा, चाहे उसे कितना भी escape किया जाए। Repair और validator में एक मूलभूत अंतर है — समस्या मिलने के बाद क्या होता है। Validator गड़बड़ी बताकर रुक जाता है। Repair टाल-टाल वाले और उलटने योग्य बदलाव करता है: ऐसा comma हटा देता है जिसके बाद सिर्फ़ whitespace और closing token हो, single quotes वाली string को double quotes में बदल देता है, string की सीमाओं का सम्मान करते हुए comment हटाता है, और सीधे लिखे control characters को escape कर देता है। सबसे ज़रूरी शर्त यह है कि repair सतही न हो। जो टूल data मिटाकर parse कराने की कोशिश करता है, वह किसी भी टूल से ज़्यादा बेकार है, क्योंकि वह loud failure को silent corruption बना देता है। यहाँ का दृष्टिकोण यह है कि सिर्फ़ प्रमाणित रूप से ग़लत चीज़ें बदली जाएँ, मूल पाठ उपलब्ध रहे ताकि आप diff कर सकें, और फिर असली parse चलाकर सफलता की पुष्टि हो। अगर input इतना क्षतिग्रस्त है कि अपने आप ठीक न हो, तो टूल यह साफ़ कहता है और बनावटी सफलता दिखाने के बजाय पाठ को ज्यों का त्यों लौटा देता है।
कैसे उपयोग करें
- JSON Repair Tool को अपने ब्राउज़र में खोलें। यह पूरी तरह client-side चलता है, इसलिए आपके द्वारा पेस्ट किया गया कोई पाठ कभी server पर नहीं जाता और कहीं संग्रहित नहीं होता।
- अपना टूटा हुआ JSON इनपुट क्षेत्र में पेस्ट करें। यह आम तौर पर किसी API response से आता है जिसे आप parse नहीं कर पाए, किसी config फ़ाइल से जिसे formatter ने अस्वीकार किया, या log या terminal से कॉपी किए गए पाठ से।
- Repair पर क्लिक करें। टूल पूरे पाठ को जाँचता है और trailing comma, single quotes, बिना quotes वाली keys, comments, छूटे हुए comma और unescaped control characters के लिए लक्षित सुधार करता है।
- Parse स्थिति संकेतक देखें। हरा Valid परिणाम यह दर्शाता है कि किसी strict RFC 8259 parser ने सुधारा हुआ आउटपुट स्वीकार कर लिया है, इसलिए आप इसे सीधे अपने कोड में वापस पेस्ट कर सकते हैं।
- बदलाव सूची में लगाए गए सुधारों को देखें, ताकि आपको पता चले कि असली समस्या क्या थी और आप उसी स्रोत को ठीक कर सकें बजाय वही गलती दोहराने के।
- कॉपी बटन से सुधारा हुआ JSON कॉपी करें और उसे अपने editor, terminal या application में रखें। यदि दस्तावेज़ टूटा नहीं बल्कि कटा हुआ था, तो repair ग़ायब bytes वापस नहीं ला सकता, इसलिए मूल डेटा दोबारा export करें।
- भेजने से पहले अपने असली application में परिणाम जाँच लें, क्योंकि repair केवल syntax ठीक करता है और upstream पर खो चुके मान वापस नहीं ला सकता।
उदाहरण
इनपुट: {"name":"Ada","role":"engineer",}
प्रक्रिया:
} से पहले लगा trailing comma हटाएँपरिणाम: {"name": "Ada", "role": "engineer"} — valid JSON के रूप में parse होता है
इनपुट: {name: 'Ada', tags: ['math','logic'],}
प्रक्रिया:
बिना quotes वाली key को quoted करें, single quotes बदलें, trailing comma हटाएँपरिणाम: {"name": "Ada", "tags": ["math", "logic"]} — valid JSON के रूप में parse होता है
इनपुट: { // user record "id": 7, "note": "line one line two" }
प्रक्रिया:
// comment हटाएँ, string के अंदर सीधे लिखे newline को escape करेंपरिणाम: {
"id": 7,
"note": "line one\nline two"
} — valid JSON के रूप में parse होता है
संबंधित खोजें
लोग यह भी खोजते हैं: JSON रिपेयर टूल, अमान्य JSON ठीक करें, JSON फिक्सर ऑनलाइन, टूटा JSON सुधारें, JSON पार्स त्रुटि ठीक करें, खराब JSON फिक्सर।
JSON रिपेयर टूलअमान्य JSON ठीक करेंJSON फिक्सर ऑनलाइनटूटा JSON सुधारेंJSON पार्स त्रुटि ठीक करेंखराब JSON फिक्सरJSON सिंटैक्स त्रुटिट्रेलिंग कॉमा JSON ठीक करेंसिंगल कोट JSON ठीक करेंबिना उद्धरण JSON कुंजीJSON टिप्पणी हटाएंगायब कॉमा JSONअनएस्केप्ड न्यूलाइन JSONटूटा JSON बचाएंJSON वैलिडेटर और फिक्सरकटा हुआ JSON सुधारेंऑफलाइन JSON रिपेयरब्राउज़र में JSON टूलJSON त्रुटि सुधारunexpected token JSON ठीक करें
अक्सर पूछे जाने वाले प्रश्न
किन तरह की JSON गड़बड़ियाँ यह टूल असल में ठीक कर सकता है?
टूल वही syntax दोष ठीक करता है जो वास्तविक parse failures का बड़ा हिस्सा बनाते हैं: closing brace या bracket से ठीक पहले लगा trailing comma, double quotes की जगह किए गए single quotes, बिना quotes वाली object keys, डेटा के अंदर छूटे हुए JavaScript line और block comments, object members या array elements के बीच छूटे हुए commas, strings के भीतर सीधे लिखे newline, tab और अन्य control characters, और अंतिम closing token के बाद बचा हुआ कचरा। हर सुधार एक लक्षित परिवर्तन है, पूरे पाठ का दोबारा लिखना नहीं। कटे हुए या बिगड़े हुए दस्तावेज़ ठीक नहीं हो सकते, क्योंकि ग़ायब bytes आपके दिए पाठ में कहीं मौजूद ही नहीं रहे; ऐसे मामलों में टूल अंदाज़ा लगाने के बजाय उन्हें ठीक न किए जाने के रूप में बताता है।
मेरा JSON ऐसी लाइन पर error क्यों देता है जो देखने में पूरी सही लगती है?
JSON parsers उस सबसे दूर की जगह fail होते हैं जहाँ तक वह सफलतापूर्वक समझ पाया, और वह जगह असली गड़बड़ी से कहीं आगे होती है। शुरुआत में छूटा हुआ comma parser को आगे पढ़ने पर मजबूर करता है और अगली key को string value समझ लेता है, जिससे बताया गया error position बाद की किसी ऐसी लाइन पर खिसक जाता है जो पूरी तरह valid है। इसीलिए शुरुआती लोग अक्सर ग़लत लाइन देखते हैं। उपाय यह है कि बताई गई जगह से आगे नहीं, पीछे देखें और हर दो members के बीच का separator जाँचें। input को इस repair tool से गुज़ारने पर असली दोष जल्दी अलग हो जाता है, क्योंकि यह गड़बड़ियों की श्रृंखला हटाकर आपके सामने बस वह एक सचमुच बिगड़ा हिस्सा रह जाता है जो कारण है।
क्या production का data ऑनलाइन JSON repair tool में पेस्ट करना सुरक्षित है?
इस टूल के साथ हाँ, क्योंकि सुधार पूरी तरह आपके ब्राउज़र में client-side JavaScript से होता है। आपका पाठ उसी कोड से संसाधित होता है जो पहले से डाउनलोड होकर आपकी अपनी मशीन पर चल रहा है, इसलिए payload नेटवर्क पर कहीं नहीं जाता, किसी server log में लिखा नहीं जाता, और साइट के मालिक द्वारा पकड़ा नहीं जा सकता। यह बात जितनी लगती है उतनी महत्वपूर्ण है: टूटे हुए payload अक्सर customer records, authentication headers, webhook secrets या पूरे stack traces वाले API responses होते हैं। कई hosted validators चुपचाप आपके पेस्ट किए पाठ को log कर लेते हैं। किसी भी टूल के लिए जाँच लें कि वह client-side processing का दावा करता है, और ऐसे टूल को प्राथमिकता दें जिनमें न खाता चाहिए, न upload।
क्या repair मेरे data का अर्थ बदल सकता है?
नहीं, बशर्ते टूल सतही न हो, और यही वह शर्त है जिसे यह implementation अपनाता है। repair केवल उन निर्माणों को बदलता है जो valid JSON में कानूनी रूप से आ ही नहीं सकते: closing brace से पहले आया comma हटा दिया जाता है, single quotes वाली string आवश्यक स्थानों पर escaped double quotes के साथ दोबारा quoted की जाती है, comment हटा दिया जाता है, छूटा हुआ separator डाल दिया जाता है, और सीधे लिखा control character escape कर दिया जाता है। कोई key नहीं बदलती, कोई मान insignificant whitespace के अलावा दोबारा प्रारूपित नहीं होता, और किसी संख्या या string literal की व्याख्या नहीं बदलती। चूँकि हर परिवर्तन हाथ से उलटने योग्य है, आप बदलाव सूची पढ़कर पुष्टि कर सकते हैं कि परिणाम अब भी वही डेटा दर्शाता है। अगर input बिना अंदाज़े के ठीक न हो, तो टूल उसे अछूता छोड़ देता है और यह बात भी बता देता है।
text editor में edit करने के बाद मेरा JSON invalid क्यों हो गया?
सबसे आम कारण मानवीय और यांत्रिक होते हैं, कुछ असामान्य नहीं। किसी word processor से smart quote या typographic apostrophe सीधा quote की जगह चिपक गया। auto-indent ने object के आखिरी item के बाद trailing whitespace के साथ एक comma डाल दिया। find और replace ने किसी मान को ऐसी चीज़ में बदल दिया जिसमें unescaped quote या सीधा newline था। किसी YAML या JavaScript object को सीधे .json फ़ाइल में चिपका दिया गया, जिसके साथ comments और single quotes भी आ गए। किसी टूटी हुई transfer ने दस्तावेज़ को बीच में ही छोड़ दिया। इनमें से किसी भी कारण से ऐसी फ़ाइल बनती है जो आँखे से सही लगती है पर strict parser उसे तुरंत अस्वीकार कर देता है, और यही वह स्थिति है जिसे हल करने के लिए यह टूल बनाया गया है।
क्या Valid परिणाम का मतलब है कि मेरा API यह डेटा स्वीकार कर लेगा?
नहीं। Valid JSON का केवल इतना मतलब है कि पाठ JSON के बोधव्याकरण को संतुष्ट करता है, यानी parser उसे बिना त्रुटि पढ़ सकता है। दस्तावेज़ आपके application के लिए सही भी है या नहीं, यह एक अलग सवाल है जिसका जवाब syntax repair नहीं दे सकता। Field names अब भी आपके schema से मेल खाने चाहिए, संख्याएँ मान्य सीमाओं में होनी चाहिए, आवश्यक properties मौजूद होने चाहिए, और nested structures का आकार वैसा होना चाहिए जैसा आपका server अपेक्षा करता है। एक दस्तावेज़ पूरी तरह parse हो सकता है और फिर भी किसी strict API validator द्वारा अस्वीकार किया जा सकता है। हरा Valid स्थिति को इस बात की पुष्टि मानें कि parse error दूर हो गया, और कहीं भी भेजने से पहले मान को अपनी schema validation या test suite से गुज़ारें।