Toolypet
ब्लॉग पर वापस जाएं
Dev

JSON Formatter & Validator व्यावहारिक गाइड - डिबगिंग से वैलिडेशन तक

API रिस्पॉन्स पढ़ नहीं पा रहे? JSON फॉर्मेटिंग, वैलिडेशन, और सामान्य सिंटैक्स त्रुटियों को व्यावहारिक उदाहरणों से मास्टर करें।

Toolypet Team

Toolypet Team

Development Team

6 मिनट पढ़ने का समय

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 कमेंट्स को सपोर्ट नहीं करता। विकल्प:

  1. JSONC (JSON with Comments): VSCode कॉन्फिग फाइल्स आदि में उपयोग
  2. JSON5: कमेंट्स, ट्रेलिंग कॉमा, सिंगल कोट्स की अनुमति
  3. अलग फील्ड: "_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फॉर्मेट कन्वर्जन
JSONformattervalidatorAPIडेवलपमेंट टूल्सडिबगिंग

लेखक के बारे में

Toolypet Team

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.

Web DevelopmentCSS ToolsDeveloper ToolsSEOSecurity