diff --git a/jackson/.classpath b/jackson/.classpath
index 8ebf6d9c31..5efa587d72 100644
--- a/jackson/.classpath
+++ b/jackson/.classpath
@@ -29,7 +29,7 @@
-
+
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
index 7d72dae106..5ae2717b89 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/CustomCarSerializer.java
@@ -16,7 +16,7 @@ public class CustomCarSerializer extends JsonSerializer
public void serialize(final Car car, final JsonGenerator jsonGenerator, final SerializerProvider serializer) throws IOException, JsonProcessingException
{
jsonGenerator.writeStartObject();
- jsonGenerator.writeStringField("car_brand", car.getType());
+ jsonGenerator.writeStringField("model: ", car.getType());
jsonGenerator.writeEndObject();
}
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/Example.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/Example.java
index fa5add9b86..2deac199f0 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/Example.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/Example.java
@@ -1,8 +1,15 @@
package com.baeldung.jackson.objectmapper;
+import org.junit.Test;
+
public abstract class Example {
+ String EXAMPLE_JSON = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
+
public abstract String name();
public abstract void execute();
+
+ @Test
+ public abstract void test() throws Exception;
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java
index 783b8d42f7..e1f99ca2d4 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java
@@ -1,5 +1,9 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -26,8 +30,6 @@ public class JavaToJsonExample extends Example
{
final ObjectMapper objectMapper = new ObjectMapper();
final Car car = new Car("yellow", "renault");
- final Request request = new Request();
- request.setCar(car);
final String carAsString = objectMapper.writeValueAsString(car);
Logger.debug(carAsString);
}
@@ -37,18 +39,13 @@ public class JavaToJsonExample extends Example
}
}
- class Request
- {
- Car car;
-
- public Car getCar()
- {
- return car;
- }
-
- public void setCar(final Car car)
- {
- this.car = car;
- }
+ @Override
+ @Test
+ public void test() throws Exception {
+ final ObjectMapper objectMapper = new ObjectMapper();
+ final Car car = new Car("yellow", "renault");
+ final String carAsString = objectMapper.writeValueAsString(car);
+ assertThat(carAsString, containsString("yellow"));
+ assertThat(carAsString, containsString("renault"));
}
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedCustomSerializeExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedCustomSerializeExample.java
index 735dada1d9..00a90209de 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedCustomSerializeExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedCustomSerializeExample.java
@@ -1,5 +1,11 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -15,8 +21,6 @@ public class JsonAdvancedCustomSerializeExample extends Example
public JsonAdvancedCustomSerializeExample() { }
- String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
-
@Override
public String name()
{
@@ -49,7 +53,7 @@ public class JsonAdvancedCustomSerializeExample extends Example
module.addDeserializer(Car.class, new CustomCarDeserializer());
mapper = new ObjectMapper();
mapper.registerModule(module);
- final Car car = mapper.readValue(json, Car.class);
+ final Car car = mapper.readValue(EXAMPLE_JSON, Car.class);
Logger.debug("car type = " + car.getType());
Logger.debug("car color = " + car.getColor());
}
@@ -58,4 +62,24 @@ public class JsonAdvancedCustomSerializeExample extends Example
Logger.error(e.toString());
}
}
+
+ @Override
+ @Test
+ public void test() throws Exception {
+ final ObjectMapper mapper = new ObjectMapper();
+ final SimpleModule serializerModule = new SimpleModule("CustomSerializer", new Version(1, 0, 0, null, null, null));
+ serializerModule.addSerializer(Car.class, new CustomCarSerializer());
+ mapper.registerModule(serializerModule);
+ final Car car = new Car("yellow", "renault");
+ final String carJson = mapper.writeValueAsString(car);
+ assertThat(carJson, containsString("renault"));
+ assertThat(carJson, containsString("model"));
+
+ final SimpleModule deserializerModule = new SimpleModule("CustomCarDeserializer", new Version(1, 0, 0, null, null, null));
+ deserializerModule.addDeserializer(Car.class, new CustomCarDeserializer());
+ mapper.registerModule(deserializerModule);
+ final Car carResult = mapper.readValue(EXAMPLE_JSON, Car.class);
+ assertNotNull(carResult);
+ assertThat(carResult.getColor(), equalTo("Black"));
+ }
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java
index 2e05aba235..c6482ca708 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java
@@ -1,7 +1,13 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
import java.io.StringWriter;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -18,7 +24,7 @@ public class JsonAdvancedJsonNodeExample extends Example
public JsonAdvancedJsonNodeExample() { }
- String jsonString = "{ \"color\" : \"Black\", \"type\" : \"Fiat\", \"year\" : \"1970\" }";
+ String LOCAL_JSON = "{ \"color\" : \"Black\", \"type\" : \"Fiat\", \"year\" : \"1970\" }";
@Override
public String name()
@@ -34,8 +40,8 @@ public class JsonAdvancedJsonNodeExample extends Example
{
final ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- final Car car = objectMapper.readValue(jsonString, Car.class);
- final JsonNode jsonNodeRoot = objectMapper.readTree(jsonString);
+ final Car car = objectMapper.readValue(LOCAL_JSON, Car.class);
+ final JsonNode jsonNodeRoot = objectMapper.readTree(LOCAL_JSON);
final JsonNode jsonNodeYear = jsonNodeRoot.get("year");
final String year = jsonNodeYear.asText();
Logger.debug("Year = " + year);
@@ -53,4 +59,19 @@ public class JsonAdvancedJsonNodeExample extends Example
}
}
+ @Override
+ @Test
+ public void test() throws Exception {
+
+ final ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ final Car car = objectMapper.readValue(LOCAL_JSON, Car.class);
+ final JsonNode jsonNodeRoot = objectMapper.readTree(LOCAL_JSON);
+ final JsonNode jsonNodeYear = jsonNodeRoot.get("year");
+ final String year = jsonNodeYear.asText();
+
+ assertNotNull(car);
+ assertThat(car.getColor(), equalTo("Black"));
+ assertThat(year, containsString("1970"));
+ }
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonArrayExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonArrayExample.java
index 40327ec787..4032e75681 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonArrayExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonArrayExample.java
@@ -1,7 +1,12 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.equalTo;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
import java.util.List;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -80,4 +85,24 @@ public class JsonArrayExample extends Example {
}
+ final String LOCAL_JSON = "[{ \"color\" : \"Black\", \"type\" : \"BMW\" }, { \"color\" : \"Red\", \"type\" : \"BMW\" }]";
+
+ @Override
+ @Test
+ public void test() throws Exception {
+ final ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
+ final Car[] cars = objectMapper.readValue(LOCAL_JSON, Car[].class);
+ for (final Car car : cars) {
+ assertNotNull(car);
+ assertThat(car.getType(), equalTo("BMW"));
+ }
+ final List listCar = objectMapper.readValue(LOCAL_JSON, new TypeReference>() {
+
+ });
+ for (final Car car : listCar) {
+ assertNotNull(car);
+ assertThat(car.getType(), equalTo("BMW"));
+ }
+ }
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonDateExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonDateExample.java
index 3b28e03344..78c89b9996 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonDateExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonDateExample.java
@@ -1,5 +1,9 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -58,4 +62,18 @@ public class JsonDateExample extends Example {
this.datePurchased = datePurchased;
}
}
+
+ @Override
+ public void test() throws Exception {
+ final ObjectMapper objectMapper = new ObjectMapper();
+ final Car car = new Car("yellow", "renault");
+ final Request request = new Request();
+ request.setCar(car);
+ request.setDatePurchased(new Date());
+ final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm a z");
+ objectMapper.setDateFormat(df);
+ final String carAsString = objectMapper.writeValueAsString(request);
+ assertNotNull(carAsString);
+ assertThat(carAsString, containsString("datePurchased"));
+ }
}
diff --git a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonMapExample.java b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonMapExample.java
index 2f8f3c7943..108c31b069 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonMapExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonMapExample.java
@@ -1,7 +1,10 @@
package com.baeldung.jackson.objectmapper;
+import static org.junit.Assert.assertNotNull;
+
import java.util.Map;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -24,10 +27,10 @@ public class JsonMapExample extends Example {
public void execute()
{
final ObjectMapper objectMapper = new ObjectMapper();
- final String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
try
{
- final Map map = objectMapper.readValue(json, new TypeReference