জাভা Map কে JSON-এ কনভার্ট করার একাধিক উপায় রয়েছে। জাভা অ্যারে এবং Map কে JSON-এ এবং এর বিপরীতে কনভার্ট করা খুব সাধারণ কাজ।
এই পোস্টে আমরা জাভা Map কে JSON-এ কনভার্ট করার ৩টি ভিন্ন উদাহরণ দেখব। আমরা Jackson, Gson এবং org.json লাইব্রেরি ব্যবহার করব।
Jackson ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করা
নিচের উদাহরণটি Jackson Core এবং Jackson Binding ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করে।
Jackson লাইব্রেরি ব্যবহার করতে হলে, প্রথমে সেগুলো pom.xml ফাইলে যোগ করতে হবে:
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
</dependencies>
তারপর:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
public class ConvertJavaMapToJson {
@Test
public void convertMapToJson() {
Map<String, String> elements = new HashMap();
elements.put("Key1", "Value1");
elements.put("Key2", "Value2");
elements.put("Key3", "Value3");
ObjectMapper objectMapper = new ObjectMapper();
try {
String json = objectMapper.writeValueAsString(elements);
System.out.println(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
আউটপুট:
{"Key2":"Value2","Key1":"Value1","Key3":"Value3"}
আউটপুট থেকে দেখা যাচ্ছে, JSON-এ এলিমেন্টের অর্ডার আমরা Map-এ যোগ করার অর্ডারের সাথে মেলে না।
অর্ডার রাখতে হলে SortedMap ব্যবহার করতে হবে।
যেমন:
SortedMap<String, String> elements = new TreeMap();
আউটপুট:
{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}
- জাভাতে JSON পার্স কীভাবে
- JSON এনকোড এবং ডিকোড কীভাবে
- জাভা অবজেক্ট কে JSON-এ কনভার্ট কীভাবে
Gson ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করা
নিচের উদাহরণটি Gson লাইব্রেরি ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করে, কিন্তু প্রথমে pom.xml ফাইলে Gson ডিপেন্ডেন্সি হিসেবে যোগ করতে হবে।
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>
তারপর:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.SortedMap;
import java.util.TreeMap;
public class ConvertJavaMapToJson {
@Test
public void convertMapToJson() {
SortedMap<String, String> elements = new TreeMap();
elements.put("Key1", "Value1");
elements.put("Key2", "Value2");
elements.put("Key3", "Value3");
Gson gson = new Gson();
Type gsonType = new TypeToken<HashMap>(){}.getType();
String gsonString = gson.toJson(elements, gsonType);
System.out.println(gsonString);
}
}
আউটপুট:
{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}
org.json ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করা
নিচের উদাহরণটি org.json লাইব্রেরি ব্যবহার করে জাভা Map কে JSON-এ কনভার্ট করে, কিন্তু প্রথমে pom.xml ফাইলে org.json ডিপেন্ডেন্সি হিসেবে যোগ করতে হবে।
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
</dependencies>
তারপর:
import org.json.JSONObject;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
public class ConvertJavaMapToJson {
@Test
public void convertMapToJson() {
Map<String, String> elements = new HashMap<>();
elements.put("Key1", "Value1");
elements.put("Key2", "Value2");
elements.put("Key3", "Value3");
JSONObject json = new JSONObject(elements);
System.out.println(json);
}
}
আউটপুট:
{"Key2":"Value2","Key1":"Value1","Key3":"Value3"}