JSON मान प्रकार
एक पूर्ण, प्रकार-सुरक्षित JSON मान प्रकार परिभाषित करें।
JSON मान प्रकार, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
JSON मान क्या है?
JSON में मानों की संरचनाओं का एक निश्चित समूह होता है: स्ट्रिंग, संख्याएँ, बूलियन मान, null, ऐरे और ऑब्जेक्ट। एक पुनरावर्ती प्रकार ठीक इसी समूह का वर्णन कर सकता है।
type Json =
| string
| number
| boolean
| null
| Json[]
| { [k: string]: Json };
// arrays and objects nest Json again.पुनरावर्ती JSON प्रकार
मुख्य बात यह है: ऐरे में Json होते हैं और ऑब्जेक्ट के मान Json होते हैं, इसलिए नेस्ट किए गए डेटा के लिए प्रकार स्वयं का संदर्भ देता है।
type Json =
| string | number | boolean | null
| Json[]
| { [k: string]: Json };
const x: Json = { name: "Ada", tags: ["a", "b"], active: true };
console.log(x);आदिम JSON मान
सबसे सरल JSON मान आदिम मान होते हैं। इनमें से हर मान सीधे Json को असाइन किया जा सकता है।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const a: Json = "hello";
const b: Json = 42;
const c: Json = true;
const d: Json = null;
console.log(a, b, c, d);JSON ऐरे
JSON ऐरे का प्रकार Json[] होता है, इसलिए इसमें किसी भी JSON मान का मिश्रण रखा जा सकता है, जिसमें नेस्ट किए गए ऐरे और ऑब्जेक्ट भी शामिल हैं।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const arr: Json = [1, "two", true, null, [3, 4]];
console.log(Array.isArray(arr));JSON ऑब्जेक्ट
JSON ऑब्जेक्ट, इंडेक्स सिग्नेचर के माध्यम से स्ट्रिंग कुंजियों को Json मानों से जोड़ता है, जिससे मनमाने स्तर तक नेस्टिंग संभव होती है।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const obj: Json = {
user: { name: "Ada", age: 36 },
scores: [10, 20, 30]
};
console.log(obj);बहुत गहराई तक नेस्ट किया गया JSON
चूँकि यह प्रकार पुनरावर्ती है, इसलिए बहुत गहराई तक नेस्ट की गई संरचनाएँ भी किसी अतिरिक्त घोषणा के बिना पूरी तरह प्रकारबद्ध रहती हैं।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const deep: Json = {
a: { b: { c: [1, { d: true }] } }
};
console.log(deep);JSON में क्या शामिल नहीं है
Json प्रकार उन मानों को सही ढंग से अस्वीकार करता है जिन्हें JSON दर्शा नहीं सकता, जैसे undefined, फ़ंक्शन या Date ऑब्जेक्ट।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
// const bad: Json = undefined; // Error
// const fn: Json = () => 1; // Error
const good: Json = { ok: true };
console.log(good);रनटाइम पर JSON संरचनाओं का सत्यापन
प्रकार मान्य JSON का वर्णन करता है, लेकिन फिर भी आपको अविश्वसनीय इनपुट का रनटाइम पर सत्यापन करना होता है। एक पुनरावर्ती गार्ड हर स्तर की जाँच करता है।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
function isJson(v: unknown): v is Json {
if (v === null) return true;
const t = typeof v;
if (t === "string" || t === "number" || t === "boolean") return true;
if (Array.isArray(v)) return v.every(isJson);
if (t === "object") return Object.values(v as object).every(isJson);
return false;
}
console.log(isJson({ a: [1, 2], b: "x" }));Json प्रकार में पार्स करना
JSON.parse any लौटाता है, इसलिए पार्स किए गए परिणाम का Json में कास्ट केवल सत्यापन के बाद करें, या चर का प्रकार पहले निर्धारित करके उसका सत्यापन करें।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const raw = "{ \"id\": 1, \"tags\": [\"a\"] }";
const parsed = JSON.parse(raw) as Json;
console.log(parsed);Json मान का भ्रमण
एक पुनरावर्ती वॉकर किसी भी JSON मान का भ्रमण कर सकता है और रनटाइम संरचना की जाँच करके आदिम मानों, ऐरे और ऑब्जेक्ट को संभाल सकता है।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
function countLeaves(v: Json): number {
if (Array.isArray(v)) return v.reduce((a, x) => a + countLeaves(x), 0);
if (v !== null && typeof v === "object") return Object.values(v).reduce((a, x) => a + countLeaves(x), 0);
return 1;
}
console.log(countLeaves({ a: [1, 2], b: "x" }));Json प्रकार उपयोगी क्यों है
एक सटीक Json प्रकार स्पष्ट रूप से दर्ज करता है कि आपकी एपीआई सीमा से कौन-से मान पार जा सकते हैं और संकलन-समय पर गैर-JSON मानों को क्रमबद्ध करने के प्रयास पकड़ लेता है।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
function send(payload: Json): string {
return JSON.stringify(payload);
}
console.log(send({ ok: true, items: [1, 2, 3] }));त्वरित जाँच: JSON मानों के प्रकार
JSON मानों के प्रकारों की अपनी समझ जाँचें।
पुनरावलोकन: JSON मानों के प्रकार
आपने आदिम मानों, ऐरे और ऑब्जेक्ट को समेटने वाला पुनरावर्ती Json प्रकार परिभाषित किया, जाना कि इसमें क्या शामिल नहीं है, और पुनरावर्ती प्रकार-गार्ड से अविश्वसनीय इनपुट का सत्यापन किया।
type Json = string | number | boolean | null | Json[] | { [k: string]: Json };
const data: Json = { id: 1, tags: ["a", "b"] };
console.log(JSON.stringify(data));एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 101
- पाठ
- 352
अक्सर पूछे जाने वाले प्रश्न
क्या “JSON मान प्रकार” पाठ निःशुल्क है?
हाँ—“JSON मान प्रकार” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“JSON मान प्रकार” में मैं क्या सीखूँगा?
एक पूर्ण, प्रकार-सुरक्षित JSON मान प्रकार परिभाषित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“JSON मान प्रकार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- पुनरावर्ती प्रकार परिभाषाएँ
- ट्री संरचनाओं के प्रकार निर्धारित करना
- JSON मान प्रकार
- पुनरावृत्ति की गहराई और सीमाएँ