JSON থেকে কোড কনভার্টার
একটি JSON নমুনাকে TypeScript ইন্টারফেস, Go স্ট্রাক্ট, Rust serde স্ট্রাক্ট, Zod স্কিমা বা JSON Schema-তে রূপান্তর করুন।
JSON থেকে কোড কনভার্টার — একটি প্রতিনিধিত্বমূলক JSON নমুনা পেস্ট করুন এবং আপনার লক্ষ্য ভাষায় তাৎক্ষণিকভাবে দৃঢ়ভাবে টাইপ করা কোড পান: TypeScript ইন্টারফেস, json ট্যাগসহ Go স্ট্রাক্ট, Rust serde স্ট্রাক্ট, Zod স্কিমা, অথবা draft-07 JSON Schema। টাইপগুলো সরাসরি ডেটা থেকে অনুমান করা হয় — নেস্টেড অবজেক্ট নামযুক্ত টাইপে পরিণত হয়, অ্যারে তার এলিমেন্টের টাইপ অনুমান করে, এবং যেসব ফিল্ড প্রতিটি অ্যারে আইটেমে উপস্থিত থাকে না সেগুলোকে ঐচ্ছিক হিসেবে চিহ্নিত করা হয়। সবকিছু আপনার ব্রাউজারে চলে, তাই আপনার JSON কখনও আপলোড হয় না।
JSON থেকে কোড কনভার্টার কী?
JSON থেকে কোড একটি বিনামূল্যের ইন-ব্রাউজার টাইপ জেনারেটর যা একটি JSON নমুনা পড়ে আপনার বেছে নেওয়া ভাষায় মিলে যাওয়া ডেটা মডেল লিখে দেয়। যেভাবে রূপান্তর করুন মেনু থেকে একটি লক্ষ্য বেছে নিন — TypeScript ইন্টারফেস, Go স্ট্রাক্ট, Rust serde স্ট্রাক্ট, Zod স্কিমা, অথবা JSON Schema — এবং শীর্ষ-স্তরের টাইপের নাম দিতে একটি রুট টাইপ নাম সেট করুন। অনুমান ইঞ্জিন JSON-এর মধ্য দিয়ে চলে: স্ট্রিং, সংখ্যা, বুলিয়ান এবং null নেটিভ টাইপে ম্যাপ হয়, নেস্টেড অবজেক্টগুলো নিজ নিজ নামযুক্ত টাইপে উন্নীত হয়, অ্যারে তার এলিমেন্টের টাইপ গ্রহণ করে, এবং কিছু অ্যারে এলিমেন্ট থেকে অনুপস্থিত কী ঐচ্ছিক হয়ে যায়। ফ্রন্টএন্ড ও ব্যাকএন্ড ডেভেলপাররা এটি ব্যবহার করেন API প্রতিক্রিয়া থেকে DTO তৈরি করতে, ভ্যালিডেশন স্কিমার খসড়া করতে, এবং হাতে বয়লারপ্লেট না লিখে ক্লায়েন্ট ও সার্ভার টাইপ সিঙ্ক রাখতে।
JSON থেকে কোড কনভার্টার কীভাবে ব্যবহার করবেন
- ইনপুট বক্সে একটি প্রতিনিধিত্বমূলক JSON নমুনা পেস্ট করুন বা টাইপ করুন, অথবা একটি উদাহরণ লোড করতে নমুনা ক্লিক করুন।
- সেটিংস খুলুন এবং যেভাবে রূপান্তর করুন-এর অধীনে একটি লক্ষ্য বেছে নিন: TypeScript, Go, Rust, Zod বা JSON Schema।
- শীর্ষ-স্তরের ইন্টারফেস, স্ট্রাক্ট বা স্কিমার নাম নিয়ন্ত্রণ করতে রুট টাইপ নাম সেট করুন।
- আউটপুট প্যানেলে জেনারেট করা কোড পড়ুন — আপনি JSON সম্পাদনা করলে বা অপশন পরিবর্তন করলে এটি স্বয়ংক্রিয়ভাবে রিফ্রেশ হয়।
- কতগুলো নামযুক্ত টাইপ অনুমান করা হয়েছে তা দেখতে টাইপ পরিসংখ্যান দেখুন, তারপর ফলাফল নিতে কপি ক্লিক করুন।
উদাহরণ
অবজেক্ট থেকে TypeScript ইন্টারফেস
ইনপুট
{ "id": 1, "name": "Ada", "active": true }আউটপুট
export interface Root {
id: number;
name: string;
active: boolean;
}নেস্টেড অবজেক্ট থেকে Go স্ট্রাক্ট
ইনপুট
{ "user": { "age": 30 } }আউটপুট
type User struct {
Age float64 `json:"age"`
}
type Root struct {
User User `json:"user"`
}অনুপস্থিত কী-সহ অ্যারে থেকে Zod স্কিমা
[{"a":1,"b":2},{"a":3}] এর মতো একটি অ্যারে পেস্ট করুন এবং যেভাবে রূপান্তর করুন-কে Zod-এ পরিবর্তন করুন। যেহেতু দ্বিতীয় এলিমেন্টে b নেই, জেনারেটর অনুমান করা z.object-এ b-কে .optional() হিসেবে চিহ্নিত করে, তাই স্কিমা উভয় আকার গ্রহণ করে।
সচরাচর জিজ্ঞাসিত প্রশ্ন
- আমার JSON কি কোথাও আপলোড হয়?
- না। পার্সিং এবং কোড জেনারেশন সম্পূর্ণরূপে একটি অন্তর্নির্মিত অনুমান ইঞ্জিন ব্যবহার করে আপনার ব্রাউজারে চলে। আপনার JSON কখনও আপনার ডিভাইস ছেড়ে যায় না, এবং টুলটি অফলাইনেও কাজ করতে থাকে।
- কোন কোন লক্ষ্য সমর্থিত?
- TypeScript ইন্টারফেস, Go স্ট্রাক্ট (json ট্যাগ এবং ঐচ্ছিক ফিল্ডের জন্য omitempty সহ), Rust serde স্ট্রাক্ট (Serialize/Deserialize derive সহ এবং কোনো ফিল্ডের নাম পরিবর্তন হলে rename সহ), Zod স্কিমা, এবং draft-07 JSON Schema। টুলটি কেবল তাই জেনারেট করে যা এটি আপনার নমুনা থেকে বিশ্বস্তভাবে অনুমান করতে পারে।
- ঐচ্ছিক ফিল্ড কীভাবে নির্ধারিত হয়?
- আপনার নমুনা থেকে। যখন কোনো অ্যারেতে অবজেক্ট থাকে এবং তাদের কিছু থেকে একটি কী অনুপস্থিত থাকে, তখন সেই কী-কে ঐচ্ছিক হিসেবে অনুমান করা হয়। এ ছাড়া, নমুনায় উপস্থিত প্রতিটি কী-কে আবশ্যক হিসেবে গণ্য করা হয়।
- সংখ্যা, null এবং মিশ্র টাইপের ক্ষেত্রে কী হয়?
- সংখ্যাগুলো ভাষার ফ্লোট টাইপে (number, float64, f64) ম্যাপ হয়, null লক্ষ্য অনুযায়ী একটি nullable বা ভ্যালু টাইপে ম্যাপ হয়, এবং যে ফিল্ড বিভিন্ন নমুনায় ভিন্ন টাইপ ধারণ করে তা অনুমান করার পরিবর্তে একটি উদার টাইপে (unknown, interface{}, serde_json::Value) ফিরে যায়।
- আমার আউটপুট খালি কেন বা ত্রুটি দেখাচ্ছে কেন?
- ইনপুট অবশ্যই বৈধ JSON হতে হবে। পার্সিং ব্যর্থ হলে, টুলটি সম্ভব হলে লাইন ও কলামসহ ত্রুটি দেখায়; চিহ্নিত স্থানটি ঠিক করুন এবং কোড তাৎক্ষণিকভাবে পুনরায় জেনারেট হয়।
সম্পর্কিত টুল
Base32 / Base58 এনকোড / ডিকোড
টেক্সটকে Base32 (RFC 4648) বা Base58 (বিটকয়েন বর্ণমালা)-তে এনকোড করুন এবং দুটির যেকোনোটিকে আবার টেক্সটে ডিকোড করুন, সম্পূর্ণ UTF-8 নিরাপদ এবং পুরোপুরি আপনার ব্রাউজারে।
Base64 এনকোড / ডিকোড
Base64 এনকোড বা ডিকোড করুন (UTF-8 নিরাপদ) — URL-নিরাপদ বর্ণমালা, ঐচ্ছিক প্যাডিং, 64/76 লাইন র্যাপিং, লাইভ বাইট ও অক্ষর গণনা এবং হেক্স/বাইনারি বাইট ভিউ সহ।
কেস কনভার্টার ও কাউন্টার
টেক্সটকে UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case ইত্যাদিতে রূপান্তর করুন এবং অক্ষর, শব্দ ও লাইন গণনা করুন।
কোড ফরম্যাটার ও মিনিফায়ার
আপনার ব্রাউজারেই HTML, CSS এবং JavaScript তাৎক্ষণিকভাবে সুন্দর করুন বা মিনিফাই করুন, 2-স্পেস, 4-স্পেস বা ট্যাব ইন্ডেন্টেশন এবং Terser-চালিত JavaScript কম্প্রেশন সহ।