Omnikit
ডেভফাইলঅর্থসব টুল
Ctrl K
ডেভেলপার টুলফাইল টুলঅর্থ ক্যালকুলেটরসব টুল
হোমডেভেলপার টুলJSON থেকে Java ক্লাস কনভার্টার
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

JSON থেকে Java ক্লাস কনভার্টার

ডেভ

একটি JSON নমুনাকে Jackson-এর জন্য অ্যানোটেট করা Java POJO, রেকর্ড বা Lombok ক্লাসে রূপান্তর করুন

আপনার ব্রাউজারে চলে। আপনি যা লেখেন তা কোথাও পাঠানো হয় না। যাচাই করা হয়েছে 16 অক্টোবর, 2026।

একটি JSON নমুনা পেস্ট করুন আর Jackson-এর জন্য অ্যানোটেট করা Java ক্লাস পান, getter ও setter সহ POJO, রেকর্ড বা Lombok @Data হিসেবে। পূর্ণসংখ্যা হয় int, 2,147,483,647-এর বেশি হলে long, যেকোনো দশমিক একটি ফিল্ডকে double করে, আর null বা অনুপস্থিত মান বক্সড টাইপ ব্যবহার করে, যেমন Integer।

এই পৃষ্ঠাটি ইংরেজি মূল লেখা থেকে যন্ত্রের সাহায্যে অনুবাদ করা হয়েছে। এই অনুবাদটি এখনও কোনো মানুষ পর্যালোচনা করেননি, তাই ইংরেজি সংস্করণটিকেই নির্ভরযোগ্য ধরুন। ইংরেজি মূল লেখাটি পড়ুন

এরপর:
  • JSON থেকে Kotlin ডেটা ক্লাস কনভার্টার একটি JSON নমুনাকে kotlinx.serialization, Gson বা Moshi-এর জন্য Kotlin ডেটা ক্লাসে রূপান্তর করুন
  • JSON ফরম্যাটার ও ভ্যালিডেটর JSON ফরম্যাট, যাচাই, মিনিফাই ও সাজান, প্রতিটি ত্রুটির সঠিক অবস্থান সহ

কীভাবে JSON-কে Java ক্লাসে রূপান্তর করবেন

1

বাঁ দিকের বাক্সে একটি JSON নমুনা পেস্ট করুন, যেমন একটি API রেসপন্স।

2

লেখার সাথে সাথে Java দেখা যায়: একটি Root.java, প্রতিটি অবজেক্টের জন্য একটি নেস্টেড স্ট্যাটিক ক্লাস, camelCase ফিল্ড এবং যেখানে কী আলাদা সেখানে @JsonProperty সহ।

3

getter ও setter সহ POJO, একটি রেকর্ড (Java 16+) বা Lombok @Data বেছে নিন, এবং রুট ক্লাসের নাম ঠিক করুন।

4

কপি করুন চাপুন, অথবা Root.java সংরক্ষণ করতে ডাউনলোড চাপুন, এবং Jackson-এর ObjectMapper দিয়ে JSON পড়ুন।

JSON থেকে Java ক্লাস কনভার্টার সম্পর্কে

Java JSON-কে ক্লাসে পড়ে, সাধারণত Jackson দিয়ে, আর JSON-এর প্রতিটি অবজেক্টের জন্য এমন একটি ক্লাস দরকার যার ফিল্ডগুলোর টাইপ ও নাম সঠিক। এই কনভার্টার একটি নমুনা থেকে সেই ক্লাসগুলো লেখে, তাই একটি লম্বা API রেসপন্স এক পেস্টেই কম্পাইল হওয়া Java হয়ে যায়।

টাইপ কীভাবে বেছে নেওয়া হয়।

JSON মান Java টাইপ
"text" String
true / false boolean
42 (শুধু পূর্ণসংখ্যা) int, অথবা 32 বিটের বেশি হলে long
4.5 (কোনো দশমিক দেখা গেলে) double
null, বা কিছু আইটেমে অনুপস্থিত Integer, Boolean, Double
শুধু null, বা মিশ্র ধরন Object
[ ... ] List<...>
{ } ফাঁকা Map<String, Object>
{ ... } একটি নেস্টেড স্ট্যাটিক ক্লাস

একটি ফাইল। আউটপুট একটিমাত্র Root.java: রুট ক্লাস অন্য প্রতিটি ক্লাসকে public static নেস্টেড ক্লাস হিসেবে রাখে, যা Jackson তৈরি করতে পারে এবং যার জন্য বাড়তি ফাইল লাগে না। JSON একটি অ্যারে বা একক মান হলে, একটি মন্তব্য জানায় কোন টাইপ হিসেবে পড়তে হবে, যেমন List<Root.RootItem>।

নাম ও কী। ফিল্ডগুলো camelCase-এ থাকে, তাই user_name হয় userName, আর @JsonProperty("user_name") কী-টি রেখে দেয়। Java কীওয়ার্ড একটি আন্ডারস্কোর পায়, যেমন class_। xCoord-এর মতো একটি ফিল্ড লেখা হয় xcoord, কারণ নইলে Jackson একে ভিন্ন নামে getXCoord getter-এর সাথে জুড়ে দিত। একটি ফাঁকা কী @JsonIgnoreProperties দিয়ে উপেক্ষা করা হয়, কারণ Jackson এর নাম দিতে পারে না।

তিনটি স্টাইল। একটি POJO-তে প্রাইভেট ফিল্ড, getter ও setter থাকে এবং সব জায়গায় কাজ করে। একটি রেকর্ড (Java 16+) ছোট ও অপরিবর্তনীয়। Lombok @Data ফিল্ডগুলো রাখে আর বাকিটা Lombok-কে লিখতে দেয়।

9টি নমুনার POJO আউটপুট javac দিয়ে কম্পাইল করে Jackson 2.17 দিয়ে পড়া হয়েছে, অজানা কী এবং প্রিমিটিভে null-কে ত্রুটি ধরে। আপনি যা পেস্ট করেন তার কিছুই ব্রাউজারের বাইরে যায় না।

সাধারণ জিজ্ঞাসা

কীভাবে JSON-কে Java ক্লাসে রূপান্তর করব?

কনভার্টারে একটি JSON নমুনা পেস্ট করুন, পাশেই Java দেখা যাবে: একটি Root.java, প্রতিটি অবজেক্টের জন্য একটি নেস্টেড স্ট্যাটিক ক্লাসসহ। প্রজেক্টে Jackson যোগ করুন এবং new ObjectMapper().readValue(json, Root.class) দিয়ে JSON পড়ুন, যা প্রতিটি ফিল্ড তার কী থেকে পূরণ করে।

ক্লাসগুলো কেন নেস্টেড ও স্ট্যাটিক?

সব ক্লাস Root-এর ভেতরে রাখলে পুরো মডেল একটি ফাইলে থাকে, যা যেমন আছে তেমনই কম্পাইল হয়। Jackson একটি নেস্টেড ক্লাস তখনই তৈরি করতে পারে যখন সেটি স্ট্যাটিক, কারণ একটি ইনার ক্লাসের আগে তার আউটার ক্লাসের একটি ইনস্ট্যান্স লাগে, তাই প্রতিটি নেস্টেড ক্লাস public static ঘোষণা করা হয়।

একটি ফিল্ড কখন int-এর বদলে Integer হয়?

নমুনায় কোনো ফিল্ড null দেখালে বা কিছু অবজেক্টে কী বাদ থাকলে, ফিল্ডটি বক্সড টাইপ ব্যবহার করে, যেমন Integer, Long, Double বা Boolean। একটি প্রিমিটিভ int null ধরে রাখতে পারে না, আর একটি অনুপস্থিত কী নিঃশব্দে 0 হয়ে যেত, তাই বক্সড টাইপ অনুপস্থিত মানকে শূন্য থেকে আলাদা রাখে।

আমি কি POJO, রেকর্ড নাকি Lombok ব্যবহার করব?

Java 16 থেকে রেকর্ড সবচেয়ে ছোট ও অপরিবর্তনীয়, আর Jackson 2.12 বা পরের সংস্করণ এগুলো সরাসরি পড়ে। getter ও setter সহ একটি POJO যেকোনো Java সংস্করণে এবং প্রতিটি লাইব্রেরির সাথে কাজ করে। Lombok-এর @Data কম্পাইলের সময় আপনার হয়ে getter ও setter লিখে দেয়, ফলে সোর্স ছোট থাকে।

xCoord-এর মতো একটি কী কেন xcoord ফিল্ড হিসেবে লেখা হয়?

Jackson getter-এর মাধ্যমে প্রপার্টি খোঁজে, এবং শুরুর বড় হাতের অক্ষর ছোট করে getXCoord-এর নাম দেয় xcoord। তখন xCoord নামের একটি ফিল্ড নিজের getter-এর সাথে মিলত না, আর প্রপার্টিটি দুই ভাগ হয়ে যেত। তাই ফিল্ডের নাম xcoord, আর @JsonProperty("xCoord") মূল কী-টি রেখে দেয়।

আমার JSON কি আপলোড হয়?

না। রূপান্তর আপনার ব্রাউজারেই চলে, কোনো সার্ভারে অনুরোধ যায় না, আর JSON সংরক্ষিত হয় না, তাই টোকেন বা ব্যক্তিগত তথ্যসহ API রেসপন্স আপনার ডিভাইসেই থাকে। ট্যাবটি বন্ধ করলে কিছুই থাকে না।

সূত্র

  • The Java Language Specification, chapter 3 (identifiers and keywords)Which names are reserved; string literal escapes
  • The Java Language Specification, §8.10 Record classesRecord components, nested records being static
  • Jackson annotations wiki@JsonProperty and @JsonIgnoreProperties
  • Project Lombok, @DataGetters, setters, equals and toString generated from fields

শেষ যাচাই 16 অক্টোবর, 2026।

হার ও নিয়ম বদলায়; কোনো অঙ্কের ওপর নির্ভর করার আগে সূত্রটি দেখে নিন।

এখনও আটকে আছেন? JSON থেকে Java ক্লাস কনভার্টার সম্পর্কে প্রশ্ন করুন আর যিনি জানেন তিনিই উত্তর দিতে পারেন। কোনো অ্যাকাউন্ট লাগবে না।

সম্পর্কিত টুল

সব ডেভেলপার টুল
Base64 এনকোড ও ডিকোডটেক্সট ও ফাইল Base64-এ এবং আবার ফেরত, URL-নিরাপদ মোড ও ছবির প্রিভিউ সহUnix টাইমস্ট্যাম্প কনভার্টারUnix টাইমস্ট্যাম্প থেকে তারিখ আর তারিখ থেকে টাইমস্ট্যাম্প, যেকোনো টাইম জোনেJSON থেকে TypeScriptএকটি JSON নমুনা থেকে TypeScript ইন্টারফেস বা টাইপ তৈরি করুনCSV থেকে JSONটেবিল প্রিভিউসহ CSV থেকে JSON এবং JSON থেকে CSV-তে রূপান্তর করুনYAML থেকে JSONYAML থেকে JSON এবং JSON থেকে YAML-এ রূপান্তর করুন, অ্যাংকর সমাধানসহURL এনকোডার / ডিকোডারটেক্সট ও URL পার্সেন্ট-এনকোড বা ডিকোড করুন, আর লিংকের প্রতিটি অংশ দেখুনসংখ্যা পদ্ধতি রূপান্তরকারীবাইনারি, অক্টাল, ডেসিমাল, হেক্স এবং 36 পর্যন্ত যেকোনো ভিত্তি, যেকোনো আকারে নির্ভুল, টু'জ কমপ্লিমেন্টসহColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
এই টুলটি কি কাজে লেগেছে?
Omnikit

ছোট ছোট কাজ, আপনার ব্রাউজারেই। বিনামূল্যে, দ্রুত ও ব্যক্তিগত। ফাইল কখনো আপলোড হয় না।

ফাইল

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

ডেভ

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

অর্থ

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
গাইডপ্রশ্নপরিচিতিআমরা কীভাবে যাচাই করিআইন লাইব্রেরি (বেটা)গোপনীয়তাশর্তাবলিপ্রকাশ্য বিবৃতিযোগাযোগMore: Exam practice (UGC NET Paper 1)আপনার ব্রাউজারে চলে। কিছুই আপলোড হয় না। © 2026 Omnikit (theomnikit.com)