ਮੁਫ਼ਤ JSON ਤੋਂ TypeScript ਕਨਵਰਟਰ
ਕਿਸੇ ਵੀ JSON ਆਬਜੈਕਟ ਜਾਂ ਐਰੇ ਤੋਂ TypeScript ਇੰਟਰਫੇਸ ਜਾਂ ਟਾਈਪ ਐਲਿਆਸ ਬਣਾਓ। ਆਪਣਾ JSON ਪੇਸਟ ਕਰੋ ਅਤੇ ਵਰਤਣ ਲਈ ਤਿਆਰ TypeScript ਟਾਈਪਸ ਤੁਰੰਤ ਪ੍ਰਾਪਤ ਕਰੋ।
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
ਇਹ ਟੂਲ ਬਿਨਾਂ ਕਿਸੇ ਬਾਹਰੀ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਹੱਥ ਨਾਲ ਲਿਖਿਆ recursive type inference ਐਲਗੋਰਿਦਮ ਵਰਤਦਾ ਹੈ — ਇਨਪੁੱਟ ਜਾਂਚਣ ਅਤੇ ਪਾਰਸ ਕਰਨ ਲਈ JSON.parse, ਫਿਰ ਇੱਕ ਖ਼ਾਸ traversal ਜੋ JSON tree ਦੇ ਹਰ ਮੁੱਲ ਵਿੱਚੋਂ ਲੰਘਦਾ ਹੈ ਅਤੇ ਸਿੱਧੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ TypeScript interface ਜਾਂ type declarations ਬਣਾਉਂਦਾ ਹੈ। ਸਰਵਰ ਨੂੰ ਕੁਝ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ।
- 1JSON ਪਾਰਸ ਅਤੇ ਜਾਂਚਿਆ ਜਾਂਦਾ ਹੈਤੁਹਾਡਾ ਇਨਪੁੱਟ JSON.parse ਨੂੰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਇਹ ਫੇਲ੍ਹ ਹੋਵੇ, ਤਾਂ ਸਹੀ parse ਗਲਤੀ ਤੁਰੰਤ ਇਨਪੁੱਟ ਹੇਠਾਂ ਦਿਸਦੀ ਹੈ। ਸਫਲ parse ਇੱਕ typed value tree ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਬਾਕੀ ਬਦਲਾਅ ਚਲਾਉਂਦਾ ਹੈ।
- 2Recursive type inferenceਇੱਕ recursive getType function ਹਰ node ਵਿੱਚੋਂ ਲੰਘਦਾ ਹੈ: primitives string, number, boolean ਜਾਂ null ਨਾਲ ਜੁੜਦੇ ਹਨ; objects ਨਵਾਂ ਨਾਮਿਤ interface ਸ਼ੁਰੂ ਕਰਦੇ ਹਨ; objects ਦੇ arrays ਦੀਆਂ keys ਸਾਰੇ elements ਵਿੱਚ ਜੋੜੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਤਾਂ ਜੋ ਸਿਰਫ਼ ਕੁਝ items ਵਿੱਚ ਮੌਜੂਦ keys optional ਬਣਨ ਅਤੇ ਟਕਰਾਉਂਦੀਆਂ value types | ਨਾਲ ਜੋੜੀਆਂ ਜਾਣ।
- 3ਟਕਰਾਅ-ਸੁਰੱਖਿਅਤ interface ਨਾਮਕਰਨਹਰ nested object ਨੂੰ ਉਸਦੀ JSON key ਤੋਂ ਬਣਿਆ PascalCase ਨਾਮ ਮਿਲਦਾ ਹੈ (snake_case, kebab-case, ਅਤੇ ਸਪੇਸਾਂ ਸਭ ਨਾਰਮਲਾਈਜ਼ ਹੁੰਦੀਆਂ ਹਨ)। ਜੇ ਦੋ ਬਣਤਰੀ ਤੌਰ 'ਤੇ ਵੱਖਰੇ objects ਦਾ ਇੱਕੋ ਨਾਮ ਹੋਵੇਗਾ, ਤਾਂ ਪਹਿਲੀ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਚੁੱਪ-ਚਾਪ ਮਿਟਾਉਣ ਦੀ ਥਾਂ ਅੰਕੀ ਪਿਛੇਤਰ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ (Data, Data2, …)।
- 4ਆਉਟਪੁੱਟ ਦਿਖਾਇਆ ਅਤੇ ਡਾਊਨਲੋਡ ਕਰਨਯੋਗNested interfaces ਪਹਿਲਾਂ ਲਿਖੇ ਜਾਂਦੇ ਹਨ, ਫਿਰ root type, ਤੁਹਾਡੀ ਚੋਣ ਮੁਤਾਬਕ export interface ਜਾਂ export type ਵਜੋਂ ਫਾਰਮੈਟ ਕੀਤੇ। ਨਤੀਜਾ ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਜਾਂ .ts ਫ਼ਾਈਲ ਵਜੋਂ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ — ਸਭ ਮਿਆਰੀ Blob ਨਾਲ ਅਤੇ ਬਿਨਾਂ ਸਰਵਰ ਆਉਣ-ਜਾਣ ਦੇ ਬਣਿਆ।
ਸੰਬੰਧਿਤ ਟੂਲ
JSON ਸਕੀਮਾ ਤੋਂ ਫਾਰਮ
ਇੱਕ JSON ਸਕੀਮਾ ਪੇਸਟ ਕਰੋ ਅਤੇ ਇੱਕ ਲਾਈਵ, ਕਾਰਜਸ਼ੀਲ ਫਾਰਮ ਪ੍ਰਾਪਤ ਕਰੋ — ਟੈਕਸਟ, ਨੰਬਰ, ਚੈੱਕਬਾਕਸ, ਡ੍ਰੌਪਡਾਊਨ ਅਤੇ ਲਿਸਟ ਫੀਲਡ — ਫਿਰ ਤੁਹਾਡੀਆਂ ਇਨਪੁੱਟਾਂ ਦੁਆਰਾ ਬਣਾਈ ਗਈ JSON ਕਾਪੀ ਕਰੋ। API ਬੇਨਤੀ ਬਾਡੀਜ਼ ਦੇ ਪ੍ਰੋਟੋਟਾਈਪਿੰਗ ਲਈ ਵਧੀਆ। ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ।
ਟਾਈਪਿੰਗ ਸਪੀਡ ਟੈਸਟ (WPM)
ਟਾਈਮਡ, ਸ਼ਬਦ-ਗਿਣਤੀ, ਕੋਟ, ਕਸਟਮ, ਅਤੇ ਜ਼ੇਨ ਟੈਸਟਾਂ ਨਾਲ ਆਪਣੀ ਟਾਈਪਿੰਗ ਸਪੀਡ (WPM) ਅਤੇ ਸ਼ੁੱਧਤਾ ਮਾਪੋ। ਲਾਈਵ WPM, ਕੱਚੀ ਗਤੀ, ਇਕਸਾਰਤਾ, ਨਤੀਜਾ ਗ੍ਰਾਫ, ਕਈ ਭਾਸ਼ਾਵਾਂ, ਅਤੇ ਪ੍ਰਤੀ-ਅੱਖਰ ਫੀਡਬੈਕ — ਸਭ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ।
CSS clamp() ਜਨਰੇਟਰ
ਰਿਸਪੌਂਸਿਵ ਟਾਈਪੋਗ੍ਰਾਫੀ ਅਤੇ ਸਪੇਸਿੰਗ ਲਈ ਫਲੂਇਡ CSS clamp() ਕੀਮਤ ਬਣਾਓ। ਘੱਟੋ-ਘੱਟ/ਵੱਧ ਤੋਂ ਵੱਧ ਸਾਈਜ਼ ਅਤੇ ਵਿਊਪੋਰਟ ਰੇਂਜ ਸੈੱਟ ਕਰੋ, ਲਾਈਵ ਪ੍ਰੀਵਿਊ ਵੇਖੋ, ਅਤੇ ਇੱਕ-ਲਾਈਨ CSS ਕਾਪੀ ਕਰੋ।