JSON Formatter & Validator व्यावहारिक गाइड - डिबगिंग से वैलिडेशन तक
API रिस्पॉन्स पढ़ नहीं पा रहे? JSON फॉर्मेटिंग, वैलिडेशन, और सामान्य सिंटैक्स त्रुटियों को व्यावहारिक उदाहरणों से मास्टर करें।
Toolypet Team
Development Team
JSON Formatter & Validator व्यावहारिक गाइड
"यह API रिस्पॉन्स... समझ में नहीं आ रहा कि क्या कहाँ है।"
क्या आपने कभी एक लाइन में कंप्रेस किया हुआ JSON रिस्पॉन्स प्राप्त किया है? 3,000 कैरेक्टर के नेस्टेड ऑब्जेक्ट में कोई विशेष फील्ड खोजना एक बुरा सपना है।
JSON Formatter इस समस्या का समाधान करता है। और Validator "यह पार्स क्यों नहीं हो रहा?" इस सवाल का जवाब देता है।
JSON 30 सेकंड में रिव्यू
डेटा टाइप्स
{
"string": "टेक्स्ट",
"number": 42,
"boolean": true,
"null": null,
"array": [1, 2, 3],
"object": {"nested": "value"}
}
मुख्य नियम (आम गलतियाँ)
| नियम | सही | गलत |
|---|---|---|
| की कोट्स | {"name": "वैल्यू"} | {name: "वैल्यू"} |
| स्ट्रिंग्स | "डबल कोट्स" | 'सिंगल कोट्स' |
| ट्रेलिंग कॉमा | "a": 1} | "a": 1,} |
| कमेंट्स | अनुमति नहीं | // comment |
Minified vs Prettified
असली API रिस्पॉन्स (Minified)
{"users":[{"id":1,"name":"राहुल शर्मा","email":"rahul@dev.com","profile":{"avatar":"https://cdn.example.com/1.jpg","bio":"फुल-स्टैक डेवलपर"}}],"pagination":{"total":150,"page":1,"limit":10}}
क्या आप इसे पढ़ सकते हैं?
Formatter के बाद (Prettified)
{
"users": [
{
"id": 1,
"name": "राहुल शर्मा",
"email": "rahul@dev.com",
"profile": {
"avatar": "https://cdn.example.com/1.jpg",
"bio": "फुल-स्टैक डेवलपर"
}
}
],
"pagination": {
"total": 150,
"page": 1,
"limit": 10
}
}
स्ट्रक्चर दिखाई देता है। आप तुरंत पहचान सकते हैं कि users[0].profile.bio कहाँ है।
5 आम JSON त्रुटियाँ
1. Trailing Comma (अंतिम कॉमा)
सबसे आम गलती। JavaScript में अनुमति है, लेकिन JSON में यह त्रुटि है।
// त्रुटि: Unexpected token }
{
"name": "राहुल शर्मा",
"age": 30,
}
// सही
{
"name": "राहुल शर्मा",
"age": 30
}
2. सिंगल कोट्स
// त्रुटि: Unexpected token '
{'name': 'राहुल शर्मा'}
// सही
{"name": "राहुल शर्मा"}
3. बिना कोट्स वाली कीज़
// त्रुटि: Unexpected token n
{name: "राहुल शर्मा"}
// सही
{"name": "राहुल शर्मा"}
4. एस्केप न किए गए कैरेक्टर्स
// त्रुटि: न्यूलाइन, टैब, आदि
{"message": "नमस्ते
दुनिया"}
// सही
{"message": "नमस्ते\nदुनिया"}
| कैरेक्टर | एस्केप |
|---|---|
| न्यूलाइन | \n |
| टैब | \t |
| बैकस्लैश | \\ |
| डबल कोट | \" |
5. अमान्य नंबर फॉर्मेट
// त्रुटि
{"value": 007} // शुरू में शून्य
{"hex": 0xFF} // हेक्साडेसिमल
// सही
{"value": 7}
{"hex": "0xFF"} // स्ट्रिंग के रूप में
प्रैक्टिकल: कोड में फॉर्मेटिंग
JavaScript
// API रिस्पॉन्स डिबगिंग
fetch('/api/users')
.then(res => res.json())
.then(data => {
// कंसोल में पढ़ने में आसान
console.log(JSON.stringify(data, null, 2));
});
JSON.stringify(data, null, 2) का तीसरा आर्गुमेंट:
2: 2-स्पेस इंडेंटेशन4: 4-स्पेस इंडेंटेशन'\t': टैब इंडेंटेशन
विशिष्ट फील्ड्स निकालना
const user = {
id: 1,
name: "राहुल शर्मा",
password: "secret123",
email: "rahul@dev.com"
};
// password के बिना आउटपुट
console.log(JSON.stringify(user, ['id', 'name', 'email'], 2));
आउटपुट:
{
"id": 1,
"name": "राहुल शर्मा",
"email": "rahul@dev.com"
}
कमांड लाइन पर JSON के साथ काम
jq - JSON के लिए स्विस आर्मी नाइफ
# इंस्टॉलेशन
brew install jq # macOS
apt install jq # Ubuntu
# फॉर्मेटिंग
cat response.json | jq .
# विशिष्ट फील्ड निकालें
cat response.json | jq '.users[0].name'
# ऐरे फिल्टर करें
cat response.json | jq '.users[] | select(.age > 30)'
# फील्ड्स को नए ऑब्जेक्ट में चुनें
cat response.json | jq '.users[] | {name, email}'
Python
# फाइल वैलिडेट + फॉर्मेट करें
python -m json.tool data.json
# पाइप से प्रोसेस करें
curl https://api.example.com/users | python -m json.tool
Node.js
# जांचें कि फाइल वैध JSON है
node -e "require('./data.json')"
JSON Schema से स्ट्रक्चर वैलिडेशन
सिंपल सिंटैक्स चेक से परे, आप डेटा स्ट्रक्चर और टाइप्स को वैलिडेट कर सकते हैं।
Schema परिभाषा
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": ["name", "email"],
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 50
},
"email": {
"type": "string",
"format": "email"
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 150
}
}
}
JavaScript में वैलिडेशन (ajv)
import Ajv from 'ajv';
import addFormats from 'ajv-formats';
const ajv = new Ajv();
addFormats(ajv);
const validate = ajv.compile(schema);
const data = {
name: "राहुल शर्मा",
email: "invalid-email",
age: -5
};
if (!validate(data)) {
console.log(validate.errors);
// [
// { keyword: 'format', message: 'must match format "email"' },
// { keyword: 'minimum', message: 'must be >= 0' }
// ]
}
IDE/एडिटर सेटिंग्स
VSCode
# ऑटो-फॉर्मेट शॉर्टकट
Windows/Linux: Shift + Alt + F
Mac: Shift + Option + F
# सेव पर ऑटो-फॉर्मेट (settings.json)
"[json]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
JetBrains (IntelliJ, WebStorm)
# ऑटो-फॉर्मेट
Windows/Linux: Ctrl + Alt + L
Mac: Cmd + Option + L
FAQ
Q: JSON में कमेंट्स जोड़ना चाहता हूं
A: स्टैंडर्ड JSON कमेंट्स को सपोर्ट नहीं करता। विकल्प:
- JSONC (JSON with Comments): VSCode कॉन्फिग फाइल्स आदि में उपयोग
- JSON5: कमेंट्स, ट्रेलिंग कॉमा, सिंगल कोट्स की अनुमति
- अलग फील्ड:
"_comment": "विवरण"
{
"_comment": "यह कॉन्फिगरेशन डेवलपमेंट के लिए है",
"debug": true
}
Q: मेरी बड़ी JSON फाइल नहीं खुल रही
A: सामान्य एडिटर्स दसों MB की फाइलों पर फ्रीज हो जाते हैं। विकल्प:
- jq: स्ट्रीमिंग प्रोसेसिंग
- fx: टर्मिनल इंटरैक्टिव व्यूअर (
npm i -g fx) - ऑनलाइन टूल्स: बड़े JSON के लिए समर्पित व्यूअर
Q: क्या मैं पूरे API रिस्पॉन्स को लॉग कर सकता हूं?
A: प्रोडक्शन में खतरनाक है।
// गलत: सेंसिटिव डेटा एक्सपोज हो सकता है
console.log(JSON.stringify(apiResponse));
// सही: सेंसिटिव फील्ड्स मास्क करें
const sanitize = (obj) => JSON.stringify(obj, (key, val) =>
['password', 'token', 'secret'].includes(key) ? '***' : val
);
सारांश
| स्थिति | समाधान |
|---|---|
| API रिस्पॉन्स पढ़ने में मुश्किल | इंडेंटेशन के लिए Formatter उपयोग करें |
| पार्सिंग त्रुटि | सिंटैक्स चेक के लिए Validator उपयोग करें |
| बार-बार होने वाली त्रुटियाँ | ट्रेलिंग कॉमा, कोट्स जांचें |
| स्ट्रक्चर वैलिडेशन | JSON Schema उपयोग करें |
| CLI प्रोसेसिंग | jq उपयोग करें |
संबंधित टूल्स
| टूल | उद्देश्य |
|---|---|
| JSON Formatter | फॉर्मेट/मिनिफाई |
| JSON Validator | सिंटैक्स वैलिडेशन |
| JSON to CSV | फॉर्मेट कन्वर्जन |
लेखक के बारे में
Toolypet Team
Development Team
The Toolypet Team creates free, privacy-focused web tools for developers and designers. All tools run entirely in your browser with no data sent to servers.