📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
✅ Some premium posts are free to read — no account needed. Follow me on Medium to stay updated and support my writing.
🎓 Top 10 Udemy Courses (Huge Discount): Explore My Udemy Courses — Learn through real-time, project-based development.
▶️ Subscribe to My YouTube Channel (172K+ subscribers): Java Guides on YouTube
1. Dependencies
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
- jackson-annotations-2.9.8.jar
- jackson-core-2.9.8.jar
- jackson-databind-2.9.8.jar
2. Jackson @JsonAnyGetter
Jackson @JsonAnyGetter Example
package net.javaguides.jackson.JsonAnyGetter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.databind.ObjectMapper;
public class SampleJavaBean {
public String name;
private Map < String, String > properties;
public SampleJavaBean() {
properties = new HashMap < String, String > ();
}
public SampleJavaBean(final String name) {
this.name = name;
properties = new HashMap < String, String > ();
}
@JsonAnyGetter
public Map < String, String > getProperties() {
return properties;
}
public static void main(String[] args) throws IOException {
SampleJavaBean bean = new SampleJavaBean("SampleJavaBean");
bean.getProperties().put("key1", "val1");
bean.getProperties().put("key2", "val2");
// convert object to json
String result = new ObjectMapper().writeValueAsString(bean);
System.out.println(result);
}
}
{"name":"SampleJavaBean","key1":"val1","key2":"val2"}
3. Jackson @JsonAnySetter
Jackson @JsonAnySetter Example
package net.javaguides.jackson.JsonAnyGetter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.databind.ObjectMapper;
public class SampleJavaBean {
public String name;
private Map < String, String > properties;
public SampleJavaBean() {
properties = new HashMap < String, String > ();
}
public SampleJavaBean(final String name) {
this.name = name;
properties = new HashMap < String, String > ();
}
@JsonAnySetter
public void add(final String key, final String value) {
properties.put(key, value);
}
@JsonAnyGetter
public Map < String, String > getProperties() {
return properties;
}
public static void main(String[] args) throws IOException {
String json = "{\"name\":\"SampleJavaBean\",\"key1\":\"val1\",\"key2\":\"val2\"}";
// convert json to object
ObjectMapper mapper = new ObjectMapper();
SampleJavaBean sampleJavaBean = mapper.readValue(json, SampleJavaBean.class);
Map < String, String > details = sampleJavaBean.getProperties();
for (String key: details.keySet()) {
System.out.println(key + ": " + details.get(key));
}
}
}
key1: val1
key2: val2
4. Complete Example
package net.javaguides.jackson.JsonAnyGetter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.databind.ObjectMapper;
public class SampleJavaBean {
public String name;
private Map < String, String > properties;
public SampleJavaBean() {
properties = new HashMap < String, String > ();
}
public SampleJavaBean(final String name) {
this.name = name;
properties = new HashMap < String, String > ();
}
@JsonAnySetter
public void add(final String key, final String value) {
properties.put(key, value);
}
@JsonAnyGetter
public Map < String, String > getProperties() {
return properties;
}
public static void main(String[] args) throws IOException {
String json = "{\"name\":\"SampleJavaBean\",\"key1\":\"val1\",\"key2\":\"val2\"}";
SampleJavaBean bean = new SampleJavaBean("SampleJavaBean");
bean.add("key1", "val1");
bean.add("key2", "val2");
// convert object to json
String result = new ObjectMapper().writeValueAsString(bean);
System.out.println(result);
// convert json to object
ObjectMapper mapper = new ObjectMapper();
SampleJavaBean sampleJavaBean = mapper.readValue(json, SampleJavaBean.class);
Map < String, String > details = sampleJavaBean.getProperties();
for (String key: details.keySet()) {
System.out.println(key + ": " + details.get(key));
}
}
}
{"name":"SampleJavaBean","key1":"val1","key2":"val2"}
key1: val1
key2: val2
Comments
Post a Comment
Leave Comment