কম্পিউটার

কীভাবে জাভা অবজেক্টকে JSON এ রূপান্তর করবেন

এই টিউটোরিয়ালে আমরা দেখাই কিভাবে জাভা অবজেক্টকে JSON এ দুটি লাইব্রেরি, জ্যাকসন এবং জিসন ব্যবহার করে রূপান্তর করা যায়।

আমরা একটি ব্যক্তি শ্রেণী ব্যবহার করব যা শুধুমাত্র একটি আদর্শ POJO। একবার আমরা একটি ব্যক্তি বস্তু তৈরি করার পরে, আমরা বিভিন্ন লাইব্রেরি ব্যবহার করে JSON এ রূপান্তর করতে পারি।

Person.java

import java.util.List;
import java.util.Map;

public class Person {

    String name;
    Integer age;
    List<String> hobbies;
    Map<String, String> languages;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public List<String> getHobbies() {
        return hobbies;
    }

    public void setHobbies(List<String> hobbies) {
        this.hobbies = hobbies;
    }

    public Map<String, String> getLanguages() {
        return languages;
    }

    public void setLanguages(Map<String, String> languages) {
        this.languages = languages;
    }
}

জ্যাকসন ব্যবহার করে জাভাকে JSON-এ রূপান্তর করুন

আমরা ObjectMapper ব্যবহার করতে পারি একটি জাভা অবজেক্টকে JSON এ রূপান্তর করতে জ্যাকসন লাইব্রেরির ক্লাস।

ObjectMapper ক্লাসে ফাইলে JSON লেখার বা স্ট্রিং হিসাবে JSON লেখার বিভিন্ন পদ্ধতি রয়েছে।

নিম্নলিখিত উদাহরণে, আমরা একটি ফাইলে লিখি এবং একটি বিন্যাসিত JSON প্রদর্শন করতে সুন্দর প্রিন্ট ফাংশনও ব্যবহার করি৷

তবে প্রথমে, মাভেন থেকে জ্যাকসন লাইব্রেরি পান এবং নির্ভরতা হিসাবে pom.xml-এ রাখুন ফাইল:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.10.2</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.10.2</version>
</dependency>

ConvertJavaObjectToJson.java

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ConvertJavaObjectToJson {

    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        Person person = newPerson();

        try {
            mapper.writeValue(new File("person.json"), person);
            String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(person);
            System.out.println(jsonString);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static Person newPerson() {
        Person person = new Person();

        List<String> hobbies = new ArrayList<>();
        hobbies.add("Football");
        hobbies.add("Cooking");
        hobbies.add("Swimming");

        Map<String, String> languages = new HashMap<>();
        languages.put("French", "Beginner");
        languages.put("German", "Intermediate");
        languages.put("Spanish", "Advanced");

        person.setName("David");
        person.setAge(30);
        person.setHobbies(hobbies);
        person.setLanguages(languages);

        return person;
    }
}

আউটপুট:

{
  "name" : "David",
  "age" : 30,
  "hobbies" : [ "Football", "Cooking", "Swimming" ],
  "languages" : {
    "French" : "Beginner",
    "German" : "Intermediate",
    "Spanish" : "Advanced"
  }
}

এছাড়াও একটি ফাইল person.json প্রকল্পের কর্মক্ষেত্রে তৈরি করা হয়৷

সম্পর্কিত:

  • কিভাবে জাভাতে JSON পার্স করবেন
  • কিভাবে জাভা ম্যাপকে JSON-এ রূপান্তর করবেন
  • কিভাবে JSON এনকোড এবং ডিকোড করবেন

Gson ব্যবহার করে জাভাকে JSON-এ রূপান্তর করুন

নির্ভরতা পান

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>

তারপর

import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ConvertJavaObjectToJson {

    public static void main(String[] args) {
        Gson gson = new Gson();
        Person person = newPerson();
        String jsonString = gson.toJson(person);
        System.out.println(jsonString);
    }

    private static Person newPerson() {
        Person person = new Person();

        List<String> hobbies = new ArrayList<>();
        hobbies.add("Football");
        hobbies.add("Cooking");
        hobbies.add("Swimming");

        Map<String, String> languages = new HashMap<>();
        languages.put("French", "Beginner");
        languages.put("German", "Intermediate");
        languages.put("Spanish", "Advanced");

        person.setName("David");
        person.setAge(30);
        person.setHobbies(hobbies);
        person.setLanguages(languages);

        return person;
    }
}

আউটপুট



  1. কিভাবে JSON পাঠ্যকে জাভাস্ক্রিপ্ট JSON অবজেক্টে রূপান্তর করবেন?

  2. জাভাতে একটি স্ট্রিংকে একটি ইনপুটস্ট্রিম অবজেক্টে কীভাবে রূপান্তর করবেন?

  3. কিভাবে জাভা মানচিত্রকে JSON এ রূপান্তর করবেন

  4. কিভাবে জাভাতে JSON পার্স করবেন