Java Map को JSON में बदलने के कई तरीके हैं। Java Arrays और Maps को JSON में बदलना और इसके विपरीत करना काफी आम है।
इस पोस्ट में, हम Java Map को JSON में बदलने के 3 अलग-अलग उदाहरण देखेंगे। हम Jackson, Gson और org.json लाइब्रेरी का उपयोग करेंगे।
Jackson का उपयोग करके Java Map को JSON में बदलें
निम्न उदाहरण Java Map को JSON में बदलने के लिए Jackson Core और Jackson Binding का उपयोग करता है।
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 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 में एलिमेंट्स का क्रम वही नहीं है जिस क्रम में हमने उन्हें मैप में जोड़ा था।
क्रम बनाए रखने के लिए, हमें SortedMap का उपयोग करना होगा।
उदाहरण:
SortedMap elements = new TreeMap();
आउटपुट:
{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}
- Java में JSON कैसे पार्स करें
- JSON को एन्कोड और डिकोड कैसे करें
- Java Object को JSON में कैसे बदलें
Gson का उपयोग करके Java Map को JSON में बदलें
निम्न उदाहरण Java Map को JSON में बदलने के लिए Gson लाइब्रेरी का उपयोग करता है, लेकिन पहले, हमें 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 elements = new TreeMap();
elements.put("Key1", "Value1");
elements.put("Key2", "Value2");
elements.put("Key3", "Value3");
Gson gson = new Gson();
Type gsonType = new TypeToken(){}.getType();
String gsonString = gson.toJson(elements, gsonType);
System.out.println(gsonString);
}
}
आउटपुट:
{"Key1":"Value1","Key2":"Value2","Key3":"Value3"}
org.json का उपयोग करके Java Map को JSON में बदलें
निम्न उदाहरण Java Map को JSON में बदलने के लिए org.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 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"}