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 553818e4b5..08c7184d29 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..3ed5419e63 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,13 @@
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 testExample() 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 2a72eeeb1e..fbfd1a8190 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JavaToJsonExample.java
@@ -1,9 +1,13 @@
package com.baeldung.jackson.objectmapper;
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertThat;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.baeldung.jackson.objectmapper.dto.Car;
import com.fasterxml.jackson.databind.ObjectMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class JavaToJsonExample extends Example
{
@@ -19,35 +23,11 @@ public class JavaToJsonExample extends Example
}
@Override
- public void execute()
- {
- try
- {
- 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);
- }
- catch(final Exception e)
- {
- Logger.error(e.toString());
- }
- }
-
- class Request
- {
- Car car;
-
- public Car getCar()
- {
- return car;
- }
-
- public void setCar(final Car car)
- {
- this.car = car;
- }
+ public void testExample() 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 0275e43308..76074b4f19 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,10 @@
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -8,46 +13,35 @@ import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
-public class JsonAdvancedCustomSerializeExample extends Example {
+public class JsonAdvancedCustomSerializeExample extends Example
+{
protected final Logger Logger = LoggerFactory.getLogger(getClass());
- public JsonAdvancedCustomSerializeExample() {
- }
-
- String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
+ public JsonAdvancedCustomSerializeExample() { }
@Override
- public String name() {
+ public String name()
+ {
return this.getClass().getName();
}
@Override
- public void execute() {
- Logger.debug("Executing: " + name());
- try {
- ObjectMapper mapper = new ObjectMapper();
- final SimpleModule module = new SimpleModule("CustomSerializer", new Version(1, 0, 0, null, null, null));
- module.addSerializer(Car.class, new CustomCarSerializer());
- mapper = new ObjectMapper();
- mapper.registerModule(module);
- final Car car = new Car("yellow", "renault");
- final String carJson = mapper.writeValueAsString(car);
- Logger.debug("car as json = " + carJson);
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
- try {
- ObjectMapper mapper = new ObjectMapper();
- final SimpleModule module = new SimpleModule("CustomCarDeserializer", new Version(1, 0, 0, null, null, null));
- module.addDeserializer(Car.class, new CustomCarDeserializer());
- mapper = new ObjectMapper();
- mapper.registerModule(module);
- final Car car = mapper.readValue(json, Car.class);
- Logger.debug("car type = " + car.getType());
- Logger.debug("car color = " + car.getColor());
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
+ public void testExample() 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 0ab1dcdbd8..9ac1b0df5f 100644
--- a/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java
+++ b/jackson/src/test/java/com/baeldung/jackson/objectmapper/JsonAdvancedJsonNodeExample.java
@@ -1,6 +1,9 @@
package com.baeldung.jackson.objectmapper;
-import java.io.StringWriter;
+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.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -9,43 +12,34 @@ import com.baeldung.jackson.objectmapper.dto.Car;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-public class JsonAdvancedJsonNodeExample extends Example {
+public class JsonAdvancedJsonNodeExample extends Example
+{
protected final Logger Logger = LoggerFactory.getLogger(getClass());
- public JsonAdvancedJsonNodeExample() {
- }
+ public JsonAdvancedJsonNodeExample() { }
- String jsonString = "{ \"color\" : \"Black\", \"type\" : \"Fiat\", \"year\" : \"1970\" }";
+ String LOCAL_JSON = "{ \"color\" : \"Black\", \"type\" : \"Fiat\", \"year\" : \"1970\" }";
@Override
- public String name() {
+ public String name()
+ {
return this.getClass().getName();
}
@Override
- public void execute() {
- Logger.debug("Executing: " + name());
- try {
- 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 JsonNode jsonNodeYear = jsonNodeRoot.get("year");
- final String year = jsonNodeYear.asText();
- Logger.debug("Year = " + year);
- Logger.debug("Color = " + car.getColor());
- Logger.debug("Type = " + car.getType());
+ public void testExample() throws Exception {
- objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
- final StringWriter string = new StringWriter();
- objectMapper.writeValue(string, car);
- Logger.debug("Car JSON is:" + string);
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
+ 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 ce039bb5d6..e25e7ce3e1 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;
@@ -14,46 +19,14 @@ public class JsonArrayExample extends Example {
protected final Logger Logger = LoggerFactory.getLogger(getClass());
- public JsonArrayExample() {
- }
+ public JsonArrayExample() { }
@Override
- public String name() {
+ public String name()
+ {
return this.getClass().getName();
}
- @Override
- public void execute() {
- Logger.debug("Executing: " + name());
- try {
- final ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
-
- final String jsonCarArray = "[{ \"color\" : \"Black\", \"type\" : \"BMW\" }, { \"color\" : \"Red\", \"type\" : \"FIAT\" }]";
- final Car[] cars = objectMapper.readValue(jsonCarArray, Car[].class);
- for (final Car car : cars) {
- Logger.debug("Color = " + car.getColor());
- Logger.debug("Type = " + car.getType());
- }
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
- try {
- final ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
-
- final String jsonCarArray = "[{ \"color\" : \"Black\", \"type\" : \"BMW\" }, { \"color\" : \"Red\", \"type\" : \"FIAT\" }]";
- final List listCar = objectMapper.readValue(jsonCarArray, new TypeReference>() {
- });
- for (final Car car : listCar) {
- Logger.debug("Color = " + car.getColor());
- Logger.debug("Type = " + car.getType());
- }
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
- }
-
class Response {
public Response(final List cars) {
@@ -72,4 +45,24 @@ public class JsonArrayExample extends Example {
}
+ final String LOCAL_JSON = "[{ \"color\" : \"Black\", \"type\" : \"BMW\" }, { \"color\" : \"Red\", \"type\" : \"BMW\" }]";
+
+ @Override
+ @Test
+ public void testExample() 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 225479ee0f..575b5d0f8c 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;
@@ -22,28 +26,9 @@ public class JsonDateExample extends Example {
return this.getClass().getName();
}
- @Override
- public void execute() {
- Logger.debug("Executing: " + name());
- try {
- final Car car = new Car("yellow", "renault");
- final Request request = new Request();
- request.setCar(car);
- request.setDatePurchased(new Date());
- final ObjectMapper objectMapper = new ObjectMapper();
- final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm a z");
- objectMapper.setDateFormat(df);
- final String carAsString = objectMapper.writeValueAsString(request);
- Logger.debug(carAsString);
- } catch (final Exception e) {
- Logger.error(e.toString());
- }
- }
-
class Request {
Car car;
Date datePurchased;
-
public Car getCar() {
return car;
}
@@ -60,4 +45,18 @@ public class JsonDateExample extends Example {
this.datePurchased = datePurchased;
}
}
+
+ @Override
+ public void testExample() 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 fc9115df93..4a685489d2 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;
@@ -12,26 +15,23 @@ public class JsonMapExample extends Example {
protected final Logger Logger = LoggerFactory.getLogger(getClass());
- public JsonMapExample() {
- }
+ public JsonMapExample() { }
@Override
- public String name() {
+ public String name()
+ {
return this.getClass().getName();
}
@Override
- public void execute() {
+ @Test
+ public void testExample() throws Exception {
final ObjectMapper objectMapper = new ObjectMapper();
- final String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
- try {
- final Map map = objectMapper.readValue(json, new TypeReference