JSON सॉर्ट
JSON object की कुंजियों और array के एलिमेंट्स को व्यवस्थित करें ताकि डेटा पढ़ने, तुलना करने और स्थिर रूप में सहेजने में आसान हो। पूरा काम ब्राउज़र में लोकल होता है।
संबंधित सुझाव
JSON सॉर्ट क्या है?
JSON सॉर्ट का मतलब object की कुंजियों को एक तय क्रम में फिर से सजाना या array एलिमेंट्स को उनके मान के आधार पर क्रमबद्ध करना है। इससे डेटा या डेटा टाइप नहीं बदलते, केवल उनका क्रम बदलता है।
ऐसी normalization Git Diff का शोर कम करने, config files को एक जैसा रखने, JSON Diff से पहले डेटा तैयार करने और API cache keys को स्थिर बनाने में मदद करती है। एक जैसा JSON केवल key order अलग होने की वजह से बदला हुआ नहीं दिखता।
GeekFormat का टूल दो मोड देता है: key sort और array sort। इसके साथ ascending/descending और recursive विकल्प भी मिलते हैं। आपका डेटा सर्वर पर नहीं भेजा जाता।
उपयोग के मामले
- package.json, tsconfig.json और अन्य config files में keys का क्रम एक जैसा करना
- दो JSON की तुलना से पहले दोनों को sort करके केवल order की वजह से आने वाले false diff हटाना
- API responses में key order स्थिर करके cache, hash और snapshot को consistent बनाना
- बड़े JSON files को code review या config audit से पहले व्यवस्थित करना
- merge या repair के बाद validation से पहले output तैयार करना
उपयोग कैसे करें
- JSON को बाएँ पैनल में पेस्ट करें, sample लोड करें या .json file आयात करें
- Key sort या array sort mode चुनें, फिर दिशा और recursive विकल्प सेट करें
- Sort चलाकर दाएँ पैनल में परिणाम देखें
- परिणाम कॉपी करें या sorted.json के रूप में डाउनलोड करें
विशेषताएं
- दो मोड: object keys या array elements दोनों को सॉर्ट कर सकते हैं
- recursive समर्थन: nested objects के अंदर तक क्रम ठीक किया जाता है
- ascending और descending: क्रम की दिशा तुरंत बदली जा सकती है
- संरचना सुरक्षित: values और data types ज्यों के त्यों रहते हैं
- लोकल प्रोसेसिंग: JSON ब्राउज़र में ही प्रोसेस होता है, सर्वर पर नहीं जाता
- आसान अगला कदम: परिणाम को JSON Diff, Repair या Format में तुरंत इस्तेमाल कर सकते हैं
कोड उदाहरण
JavaScript से keys को recursive तरीके से sort करना
javascript// Keys को recursive तरीके से sort करके नया object लौटाता है
function sortKeysDeep(value) {
if (Array.isArray(value)) return value.map(sortKeysDeep);
if (value !== null && typeof value === 'object') {
return Object.keys(value)
.sort((a, b) => a.localeCompare(b))
.reduce((acc, k) => {
acc[k] = sortKeysDeep(value[k]);
return acc;
}, {});
}
return value;
}
const data = { zoo: { animals: ['zebra', 'elephant'] }, alpha: 1, beta: 2 };
console.log(JSON.stringify(sortKeysDeep(data), null, 2));Python में sort_keys=True का उपयोग
pythonimport json
data = {"zoo": {"animals": ["zebra", "elephant"]}, "alpha": 1, "beta": 2}
print(json.dumps(data, indent=2, sort_keys=True, ensure_ascii=False))
arr = [3, 1, 4, 1, 5]
print(sorted(arr))
print(sorted(arr, reverse=True))jq से JSON sort करना
bash# Keys को recursive तरीके से sort करें jq -S '.' data.json # Array elements sort करें jq 'sort' data.json # किसी specific field के आधार पर sort करें jq 'sort_by(.age)' data.json
सामान्य प्रश्न
JSON सॉर्ट और JSON format में क्या अंतर है?
Format केवल indentation और line breaks बदलता है, जबकि JSON सॉर्ट keys और array elements का क्रम बदलता है। दोनों साथ उपयोग करने से JSON साफ और व्यवस्थित दिखता है।
क्या सॉर्ट करने के बाद JSON का आकार बढ़ेगा?
लगभग नहीं। डेटा की मात्रा वही रहती है, केवल fields और elements का क्रम बदलता है।
क्या values या data types बदल जाते हैं?
नहीं। `null`, numbers, strings, booleans, objects और arrays सब वैसे ही रहते हैं।
recursive sort का मतलब क्या है?
इसका मतलब है कि सॉर्टिंग सिर्फ ऊपर वाले object पर नहीं बल्कि अंदर के nested objects पर भी लागू होती है। Config और API responses के लिए इसे चालू रखना अक्सर बेहतर होता है।
integer जैसे keys ऊपर क्यों आ जाते हैं?
JavaScript `0`, `1`, `2` जैसी keys को numeric order में हैंडल करता है। यह platform behavior है, टूल की गलती नहीं।
array के अंदर objects कैसे सॉर्ट होते हैं?
Array mode generic comparison का इस्तेमाल करता है। अगर `price` या `date` जैसे किसी specific field पर sort चाहिए, तो `sort_by(.field)` बेहतर है।
क्या मेरा JSON सर्वर पर अपलोड होता है?
नहीं। सारी processing ब्राउज़र के भीतर ही होती है, इसलिए संवेदनशील डेटा के लिए भी उपयुक्त है।
JSON Diff या Schema के साथ इसे किस क्रम में चलाना चाहिए?
आम तौर पर JSON Repair → JSON सॉर्ट → JSON Diff / Format → Schema validation सबसे सुविधाजनक क्रम है। पहले order स्थिर करने से diff noise कम हो जाता है।
समस्या निवारण
Invalid JSON error दिख रही है
Input JSON में syntax समस्या हो सकती है। पहले JSON Repair या JSON Format से उसे जाँचें।
संख्या जैसी keys हमेशा ऊपर आ जाती हैं
JavaScript integer-जैसी keys को numeric order में हैंडल करता है। यह platform behavior है, tool bug नहीं।
Array के अंदर objects मनचाहे क्रम में नहीं आ रहे
Array mode business field का अर्थ नहीं समझता और generic comparison करता है। `price` या `date` के लिए `sort_by` इस्तेमाल करें।
Nested objects sort नहीं हो रहे
देखें कि recursive विकल्प चालू है या नहीं। बंद होने पर केवल top level sort होगा।
बहुत बड़ा JSON ब्राउज़र को धीमा कर देता है
बड़ी files को पहले `jq`, Python या Node.js से लोकल प्रोसेस करें, फिर परिणाम को ब्राउज़र में verify करें।
शब्दकोश
- JSON Sort
- ऐसा ऑपरेशन जो केवल कुंजियों या array elements का क्रम बदलता है, value और data type को नहीं।
- Recursive Sort
- सॉर्टिंग जो सिर्फ ऊपर वाले level पर नहीं, बल्कि अंदर के सभी nested objects पर भी लागू होती है।
- Ascending / Descending
- Ascending का मतलब A-Z या छोटे से बड़े क्रम में, descending इसका उल्टा है।
- Canonical Form
- JSON का normalized रूप, जो comparison, cache और hash के लिए सुविधाजनक होता है।
- Git Diff Noise
- वह extra diff जो केवल ordering या formatting की वजह से दिखता है, असली data change की वजह से नहीं।
- localeCompare
- JavaScript का string comparison API, जिसे key names की dictionary order sorting के लिए अक्सर उपयोग किया जाता है।
वे स्थितियाँ जहाँ JSON सॉर्ट उपयोगी है
| स्थिति | किसके आधार पर | अनुशंसित तरीका | टूल |
|---|---|---|---|
| Git Diff शोर कम करना | object keys | recursive key sort | यह टूल / jq -S |
| config normalization | object keys | ascending + recursive | यह टूल |
| API cache key स्थिर करना | object keys | पहले sort फिर stringify | यह टूल / code example |
| array data जल्दी व्यवस्थित करना | array elements | array mode | यह टूल |
JSON sort, diff और merge का अंतर
| टूल | उद्देश्य | क्या व्यवस्थित करता है | अगला कदम |
|---|---|---|---|
| JSON सॉर्ट | क्रम एक जैसा करना | keys / arrays | diff, format |
| JSON Diff | अंतर तुलना | नहीं | सॉर्ट के बाद बेहतर |
| JSON Merge | कई स्रोत जोड़ना | ज़रूरत हो तो merge के बाद | merge के बाद sort |
| JSON Repair | गलत JSON सुधारना | नहीं | repair के बाद sort |
Authoritative References
- JSON कंप्रेस करें
- CSV से JSON
- JSON से CSV
- JSON Diff
- JSON Escape / Unescape
- JSON फ़्लैटन
- JSON फ़ॉर्मेटर
- JSON जनरेटर
- JSONPath क्वेरी
- JSON मर्ज
- JSON मरम्मत
- JSON Schema Validator
- JSON सॉर्ट
- JSON Stringify
- JSON से HTML
- JSON से Java
- JSON से Markdown
- JSON से SQL
- JSON से TOML
- JSON से TypeScript
- XML को JSON में बदलें
- JSON को XML में बदलें
- YAML से JSON
- JSON → YAML
- JSON से Go
- JSON से Rust
- JSON to Swift
- JSON से C#
- JSON से C++
- JSON से PHP
- JSON से Python