डेवलपर / प्रकार
JSON से Zod स्कीमा कन्वर्टर
JSON नमूने से Zod स्कीमा और उसका TypeScript प्रकार बनाएँ, जिसमें नेस्टेड ऑब्जेक्ट, ऐरे, वैकल्पिक और null स्वीकार करने वाले फ़ील्ड, और पूर्णांक शामिल हैं।
JSON से Zod स्कीमा कन्वर्टर: नमूने का हर ऑब्जेक्ट z.object स्कीमा बन जाता है और उससे अनुमानित प्रकार के साथ एक्सपोर्ट होता है। नेस्टेड ऑब्जेक्ट को अपने नाम वाले अलग स्कीमा मिलते हैं। ऐरे में मौजूद ऑब्जेक्ट को मर्ज किया जाता है: कुछ ऑब्जेक्ट में न मिलने वाली कुंजियों में .optional(), कभी-कभी null होने वाली कुंजियों में .nullable(), और पूर्ण संख्याओं में .int() जोड़ा जाता है। बनाए गए स्कीमा को उनके अपने नमूनों को Zod से पार्स करके जाँचा गया है। यह आपके ब्राउज़र में 100% स्थानीय रूप से चलता है और सर्वर पर कोई फ़ाइल अपलोड नहीं होती।
- श्रेणी
- डेवलपर टूल्स
- रन
- आपके ब्राउज़र में
- लागत
- मुफ़्त · साइन अप की ज़रूरत नहीं
- उपलब्धता
- इस्तेमाल के लिए तैयार
पूरी तरह आपके ब्राउज़र में चलता है
TypeScript
import { z } from "zod";
export const AddressSchema = z.object({
city: z.string(),
zip_code: z.string(),
});
export type Address = z.infer<typeof AddressSchema>;
export const UserSchema = z.object({
id: z.number().int(),
user_name: z.string(),
avatar_url: z.string(),
score: z.number(),
tags: z.array(z.string()),
address: AddressSchema,
manager_id: z.number().int().nullable(),
nickname: z.string().optional(),
});
export type User = z.infer<typeof UserSchema>;
export const UserListSchema = z.array(UserSchema);
हर ऑब्जेक्ट को एक स्कीमा और अनुमानित टाइप मिलता है। कुछ ऑब्जेक्ट में मौजूद न रहने वाली कुंजियों को .optional(), कभी-कभी null होने वाली कुंजियों को .nullable() और पूर्णांकों को .int() मिलता है; अपनी API द्वारा गारंटी न दिए गए किसी भी नियम को ढीला करें।
स्कीमा का उपयोग
वैलिडेट करने और गलत डेटा पर एरर देने के लिए Schema.parse(data) कॉल करें, या try और catch के बिना जाँचा जा सकने वाला परिणाम पाने के लिए Schema.safeParse(data) कॉल करें। z.infer से मिलने वाला एक्सपोर्ट किया गया टाइप, स्कीमा में बदलाव करते समय उसके साथ अपडेट रहता है।
अगर आपको केवल compile-time types चाहिए, तो JSON to TypeScript सामान्य interfaces देता है; मौजूदा JSON Schema के विरुद्ध वैलिडेट करने के लिए JSON स्कीमा का उपयोग करें।
जनरेट किए गए नियमों को सख्त करना
सैंपल केवल वही दिखाता है जो उसमें मौजूद है, इसलिए स्कीमा को शुरुआती बिंदु मानें: जहाँ लागू हो, strings में .email(), .url() या .datetime() जोड़ें; निश्चित मानों वाले फ़ील्ड के लिए z.enum([...]) और जहाँ आपके डेटा की सीमाएँ हों, वहाँ .min() या .max() जोड़ें।
इस्तेमाल करने का तरीका
- JSON नमूना पेस्ट करें—बेहतर होगा कि इसमें कई सामान्य रिकॉर्ड वाला ऐरे हो।
- शीर्ष-स्तरीय प्रकार का नाम दें।
- स्कीमा कॉपी करें और रनटाइम पर डेटा वैलिडेट करने के लिए उनका उपयोग करें।
गोपनीयता और सीमाएँ
JSON आपके ब्राउज़र में कन्वर्ट होता है और कभी अपलोड नहीं किया जाता।
संबंधित टूल्स
अक्सर पूछे जाने वाले सवाल
TypeScript इंटरफ़ेस के बजाय Zod का उपयोग क्यों करें?
कोड कंपाइल होने पर इंटरफ़ेस हट जाता है, इसलिए वह रनटाइम पर डेटा की जाँच नहीं कर सकता; Zod स्कीमा डेटा की जाँच करता है और z.infer से आपको वही प्रकार देता है।
क्या पूर्णांकों के लिए सचमुच .int() होना चाहिए?
केवल तब, जब आपका API पूर्ण संख्याओं का वादा करता हो। अगर किसी कीमत या स्कोर में दशमलव हो सकता है, तो नमूने में केवल पूर्ण संख्याएँ होने पर भी .int() हटा दें।
क्या यह तारीख या ईमेल जैसे स्ट्रिंग को संभालता है?
उन्हें z.string() के रूप में टाइप किया जाता है; जहाँ आपके डेटा को ज़रूरत हो, वहाँ .email(), .url() या तारीख की जाँच जैसे रिफाइनमेंट जोड़ें।
मुफ़्त टूल · आपके ब्राउज़र में बार चलता है · अकाउंट की ज़रूरत नहीं