diff --git a/json-modules/README.md b/json-modules/README.md
new file mode 100644
index 0000000000..a7100c40c8
--- /dev/null
+++ b/json-modules/README.md
@@ -0,0 +1,3 @@
+## JSON
+
+This module contains modules about JSON.
diff --git a/gson/.gitignore b/json-modules/gson/.gitignore
similarity index 100%
rename from gson/.gitignore
rename to json-modules/gson/.gitignore
diff --git a/gson/README.md b/json-modules/gson/README.md
similarity index 100%
rename from gson/README.md
rename to json-modules/gson/README.md
diff --git a/gson/pom.xml b/json-modules/gson/pom.xml
similarity index 87%
rename from gson/pom.xml
rename to json-modules/gson/pom.xml
index 082e53baf0..bd0b562785 100644
--- a/gson/pom.xml
+++ b/json-modules/gson/pom.xml
@@ -9,9 +9,8 @@
com.baeldung
- parent-java
- 0.0.1-SNAPSHOT
- ../parent-java
+ json-modules
+ 1.0.0-SNAPSHOT
@@ -42,12 +41,18 @@
commons-lang3
${commons-lang3.version}
+
+ com.google.guava
+ guava
+ ${guava.version}
+
com.google.code.gson
gson
${gson.version}
+
@@ -63,6 +68,7 @@
2.8.0
2.9.6
+ 11.0.2
\ No newline at end of file
diff --git a/gson/src/main/java/com/baeldung/gson/entities/ActorGson.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/ActorGson.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/ActorGson.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/ActorGson.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Animal.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Animal.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Animal.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Animal.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Cow.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Cow.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Cow.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Cow.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Dog.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Dog.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Dog.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Dog.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Employee.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Employee.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Employee.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Employee.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Movie.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Movie.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Movie.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Movie.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/MovieWithNullValue.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/MovieWithNullValue.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/MovieWithNullValue.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/MovieWithNullValue.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/MyClass.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/MyClass.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/MyClass.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/MyClass.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/User.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/User.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/User.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/User.java
diff --git a/gson/src/main/java/com/baeldung/gson/entities/Weather.java b/json-modules/gson/src/main/java/com/baeldung/gson/entities/Weather.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/entities/Weather.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/entities/Weather.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/BooleanExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/BooleanExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/BooleanExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/BooleanExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/ByteExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/ByteExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/ByteExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/ByteExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/CharExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/CharExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/CharExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/CharExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/DoubleExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/DoubleExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/DoubleExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/DoubleExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/FloatExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/FloatExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/FloatExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/FloatExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/InfinityValuesExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/InfinityValuesExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/InfinityValuesExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/InfinityValuesExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/LongExample.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/LongExample.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/LongExample.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/LongExample.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundle.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundle.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundle.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundle.java
diff --git a/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundleInitialized.java b/json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundleInitialized.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundleInitialized.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/primitives/models/PrimitiveBundleInitialized.java
diff --git a/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonDeserializer.java b/json-modules/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonDeserializer.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serialization/ActorGsonDeserializer.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonDeserializer.java
diff --git a/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonSerializer.java b/json-modules/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonSerializer.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serialization/ActorGsonSerializer.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serialization/ActorGsonSerializer.java
diff --git a/gson/src/main/java/com/baeldung/gson/serialization/AnimalDeserializer.java b/json-modules/gson/src/main/java/com/baeldung/gson/serialization/AnimalDeserializer.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serialization/AnimalDeserializer.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serialization/AnimalDeserializer.java
diff --git a/gson/src/main/java/com/baeldung/gson/serialization/MapDeserializer.java b/json-modules/gson/src/main/java/com/baeldung/gson/serialization/MapDeserializer.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serialization/MapDeserializer.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serialization/MapDeserializer.java
diff --git a/gson/src/main/java/com/baeldung/gson/serialization/StringDateMapDeserializer.java b/json-modules/gson/src/main/java/com/baeldung/gson/serialization/StringDateMapDeserializer.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serialization/StringDateMapDeserializer.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serialization/StringDateMapDeserializer.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/Exclude.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/Exclude.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/Exclude.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/Exclude.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClass.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClass.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClass.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClass.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithAnnotatedFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithAnnotatedFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithAnnotatedFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithAnnotatedFields.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithCustomAnnotatedFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithCustomAnnotatedFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithCustomAnnotatedFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithCustomAnnotatedFields.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithTransientFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithTransientFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithTransientFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MyClassWithTransientFields.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClass.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClass.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClass.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClass.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithAnnotatedFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithAnnotatedFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithAnnotatedFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithAnnotatedFields.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithCustomAnnotatedFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithCustomAnnotatedFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithCustomAnnotatedFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithCustomAnnotatedFields.java
diff --git a/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithTransientFields.java b/json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithTransientFields.java
similarity index 100%
rename from gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithTransientFields.java
rename to json-modules/gson/src/main/java/com/baeldung/gson/serializationwithexclusions/MySubClassWithTransientFields.java
diff --git a/gson/src/main/resources/logback.xml b/json-modules/gson/src/main/resources/logback.xml
similarity index 100%
rename from gson/src/main/resources/logback.xml
rename to json-modules/gson/src/main/resources/logback.xml
diff --git a/gson/src/test/java/com/baeldung/gson/advance/GsonAdvanceUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/advance/GsonAdvanceUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/advance/GsonAdvanceUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/advance/GsonAdvanceUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/advance/RuntimeTypeAdapterFactory.java b/json-modules/gson/src/test/java/com/baeldung/gson/advance/RuntimeTypeAdapterFactory.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/advance/RuntimeTypeAdapterFactory.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/advance/RuntimeTypeAdapterFactory.java
diff --git a/gson/src/test/java/com/baeldung/gson/conversion/JsonObjectConversionsUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/conversion/JsonObjectConversionsUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/conversion/JsonObjectConversionsUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/conversion/JsonObjectConversionsUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/Foo.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/Foo.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/Foo.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/Foo.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializer.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializer.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializer.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializer.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializerFromJsonWithDifferentFields.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializerFromJsonWithDifferentFields.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializerFromJsonWithDifferentFields.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooDeserializerFromJsonWithDifferentFields.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/FooInstanceCreator.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooInstanceCreator.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/FooInstanceCreator.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooInstanceCreator.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/FooWithInner.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooWithInner.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/FooWithInner.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/FooWithInner.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/GenericFoo.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GenericFoo.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/GenericFoo.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GenericFoo.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/GsonAlternateUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GsonAlternateUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/GsonAlternateUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GsonAlternateUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/GsonDeserializeUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GsonDeserializeUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/GsonDeserializeUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/GsonDeserializeUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/MapDeserializationUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/MapDeserializationUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/MapDeserializationUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/MapDeserializationUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/deserialization/test/GsonDeserializationUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/deserialization/test/GsonDeserializationUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/deserialization/test/GsonDeserializationUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/deserialization/test/GsonDeserializationUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/jsoncompare/JsonCompareUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/jsoncompare/JsonCompareUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/jsoncompare/JsonCompareUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/jsoncompare/JsonCompareUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/primitives/PrimitiveValuesUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/primitives/PrimitiveValuesUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/primitives/PrimitiveValuesUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/primitives/PrimitiveValuesUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/DifferentNameSerializer.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/DifferentNameSerializer.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/DifferentNameSerializer.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/DifferentNameSerializer.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/GsonSerializeUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/GsonSerializeUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/GsonSerializeUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/GsonSerializeUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsNotMatchingCriteriaSerializer.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsNotMatchingCriteriaSerializer.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsNotMatchingCriteriaSerializer.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsNotMatchingCriteriaSerializer.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsSerializer.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsSerializer.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsSerializer.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/IgnoringFieldsSerializer.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/SourceClass.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/SourceClass.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/SourceClass.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/SourceClass.java
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java
similarity index 98%
rename from gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java
index 4780b8a6bf..3b8912d259 100644
--- a/gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java
+++ b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/test/GsonSerializationUnitTest.java
@@ -11,10 +11,12 @@ import com.baeldung.gson.serialization.DifferentNameSerializer;
import com.baeldung.gson.serialization.IgnoringFieldsNotMatchingCriteriaSerializer;
import com.baeldung.gson.serialization.IgnoringFieldsSerializer;
import com.baeldung.gson.serialization.SourceClass;
+
+import org.assertj.core.util.Lists;
import org.joda.time.DateTime;
import org.junit.Test;
-import com.google.common.collect.Lists;
+
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
diff --git a/gson/src/test/java/com/baeldung/gson/serialization/test/JsonFileUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/serialization/test/JsonFileUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serialization/test/JsonFileUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serialization/test/JsonFileUnitTest.java
diff --git a/gson/src/test/java/com/baeldung/gson/serializationwithexclusions/SerializationWithExclusionsUnitTest.java b/json-modules/gson/src/test/java/com/baeldung/gson/serializationwithexclusions/SerializationWithExclusionsUnitTest.java
similarity index 100%
rename from gson/src/test/java/com/baeldung/gson/serializationwithexclusions/SerializationWithExclusionsUnitTest.java
rename to json-modules/gson/src/test/java/com/baeldung/gson/serializationwithexclusions/SerializationWithExclusionsUnitTest.java
diff --git a/gson/src/test/resources/.gitignore b/json-modules/gson/src/test/resources/.gitignore
similarity index 100%
rename from gson/src/test/resources/.gitignore
rename to json-modules/gson/src/test/resources/.gitignore
diff --git a/gson/src/test/resources/logback-test.xml b/json-modules/gson/src/test/resources/logback-test.xml
similarity index 100%
rename from gson/src/test/resources/logback-test.xml
rename to json-modules/gson/src/test/resources/logback-test.xml
diff --git a/json-2/README.md b/json-modules/json-2/README.md
similarity index 100%
rename from json-2/README.md
rename to json-modules/json-2/README.md
diff --git a/json-2/pom.xml b/json-modules/json-2/pom.xml
similarity index 99%
rename from json-2/pom.xml
rename to json-modules/json-2/pom.xml
index 6fbdebc953..5a820978a7 100644
--- a/json-2/pom.xml
+++ b/json-modules/json-2/pom.xml
@@ -9,7 +9,7 @@
com.baeldung
- parent-modules
+ json-modules
1.0.0-SNAPSHOT
diff --git a/json-2/src/main/java/com/baeldung/jsoniter/model/Name.java b/json-modules/json-2/src/main/java/com/baeldung/jsoniter/model/Name.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsoniter/model/Name.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsoniter/model/Name.java
diff --git a/json-2/src/main/java/com/baeldung/jsoniter/model/Student.java b/json-modules/json-2/src/main/java/com/baeldung/jsoniter/model/Student.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsoniter/model/Student.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsoniter/model/Student.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/Customer.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/Customer.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/Customer.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/Customer.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerDeserializer.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerDeserializer.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerDeserializer.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerDeserializer.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSerializer.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSerializer.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSerializer.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSerializer.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerShortNames.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerShortNames.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerShortNames.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerShortNames.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlim.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlim.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlim.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlim.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimDeserializer.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimDeserializer.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimDeserializer.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimDeserializer.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimSerializer.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimSerializer.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimSerializer.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimSerializer.java
diff --git a/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimShortNames.java b/json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimShortNames.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimShortNames.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonoptimization/CustomerSlimShortNames.java
diff --git a/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java b/json-modules/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
diff --git a/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java b/json-modules/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
diff --git a/json-2/src/main/java/com/baeldung/jsonvalidation/GsonValidator.java b/json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/GsonValidator.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonvalidation/GsonValidator.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/GsonValidator.java
diff --git a/json-2/src/main/java/com/baeldung/jsonvalidation/JacksonValidator.java b/json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/JacksonValidator.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonvalidation/JacksonValidator.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/JacksonValidator.java
diff --git a/json-2/src/main/java/com/baeldung/jsonvalidation/JsonValidator.java b/json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/JsonValidator.java
similarity index 100%
rename from json-2/src/main/java/com/baeldung/jsonvalidation/JsonValidator.java
rename to json-modules/json-2/src/main/java/com/baeldung/jsonvalidation/JsonValidator.java
diff --git a/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java b/json-modules/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java
similarity index 100%
rename from json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java
rename to json-modules/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java
diff --git a/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java b/json-modules/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java
similarity index 100%
rename from json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java
rename to json-modules/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java
diff --git a/json-2/src/main/resources/input.json b/json-modules/json-2/src/main/resources/input.json
similarity index 100%
rename from json-2/src/main/resources/input.json
rename to json-modules/json-2/src/main/resources/input.json
diff --git a/json-2/src/test/java/com/baeldung/fastjson/FastJsonUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/fastjson/FastJsonUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/fastjson/FastJsonUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/fastjson/FastJsonUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/fastjson/Person.java b/json-modules/json-2/src/test/java/com/baeldung/fastjson/Person.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/fastjson/Person.java
rename to json-modules/json-2/src/test/java/com/baeldung/fastjson/Person.java
diff --git a/json-2/src/test/java/com/baeldung/jsoniter/JsoniterIntroUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsoniter/JsoniterIntroUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsoniter/JsoniterIntroUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsoniter/JsoniterIntroUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/JacksonDeserializationUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/JacksonDeserializationUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/JacksonDeserializationUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/JacksonDeserializationUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/Person.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/Person.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/Person.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/deserialization/jsonldjava/jackson/Person.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/HydraJsonldSerializationUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/HydraJsonldSerializationUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/HydraJsonldSerializationUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/HydraJsonldSerializationUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/Person.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/Person.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/Person.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/hydrajsonld/Person.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/JacksonJsonLdSerializationUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/JacksonJsonLdSerializationUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/JacksonJsonLdSerializationUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/JacksonJsonLdSerializationUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/Person.java b/json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/Person.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/Person.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonld/serialization/jacksonjsonld/Person.java
diff --git a/json-2/src/test/java/com/baeldung/jsonoptimization/JsonOptimizationUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonoptimization/JsonOptimizationUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonoptimization/JsonOptimizationUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonoptimization/JsonOptimizationUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonvalidation/GsonValidatorUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/GsonValidatorUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonvalidation/GsonValidatorUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/GsonValidatorUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonvalidation/JacksonValidatorUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/JacksonValidatorUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonvalidation/JacksonValidatorUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/JacksonValidatorUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/jsonvalidation/JsonValidatorUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/JsonValidatorUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/jsonvalidation/JsonValidatorUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/jsonvalidation/JsonValidatorUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/AlternativeAdapterUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/AlternativeAdapterUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/AlternativeAdapterUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/AlternativeAdapterUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/ArrayUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/ArrayUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/ArrayUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/ArrayUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/ComplexAdapterUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/ComplexAdapterUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/ComplexAdapterUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/ComplexAdapterUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/DefaultUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/DefaultUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/DefaultUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/DefaultUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/PrimitiveUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/PrimitiveUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/PrimitiveUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/PrimitiveUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/RenameUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/RenameUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/RenameUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/RenameUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/SimpleAdapterUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/SimpleAdapterUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/SimpleAdapterUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/SimpleAdapterUnitTest.java
diff --git a/json-2/src/test/java/com/baeldung/moshi/TransientUnitTest.java b/json-modules/json-2/src/test/java/com/baeldung/moshi/TransientUnitTest.java
similarity index 100%
rename from json-2/src/test/java/com/baeldung/moshi/TransientUnitTest.java
rename to json-modules/json-2/src/test/java/com/baeldung/moshi/TransientUnitTest.java
diff --git a/json-2/src/test/resources/Student.json b/json-modules/json-2/src/test/resources/Student.json
similarity index 100%
rename from json-2/src/test/resources/Student.json
rename to json-modules/json-2/src/test/resources/Student.json
diff --git a/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java b/json-modules/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
similarity index 100%
rename from json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
rename to json-modules/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
diff --git a/json-2/src/test/resources/json_optimization_mock_data.json b/json-modules/json-2/src/test/resources/json_optimization_mock_data.json
similarity index 100%
rename from json-2/src/test/resources/json_optimization_mock_data.json
rename to json-modules/json-2/src/test/resources/json_optimization_mock_data.json
diff --git a/json-2/src/test/resources/sample_input.json b/json-modules/json-2/src/test/resources/sample_input.json
similarity index 100%
rename from json-2/src/test/resources/sample_input.json
rename to json-modules/json-2/src/test/resources/sample_input.json
diff --git a/json-path/.gitignore b/json-modules/json-path/.gitignore
similarity index 100%
rename from json-path/.gitignore
rename to json-modules/json-path/.gitignore
diff --git a/json-path/README.md b/json-modules/json-path/README.md
similarity index 100%
rename from json-path/README.md
rename to json-modules/json-path/README.md
diff --git a/json-path/pom.xml b/json-modules/json-path/pom.xml
similarity index 94%
rename from json-path/pom.xml
rename to json-modules/json-path/pom.xml
index b4577ec15f..e467ee9557 100644
--- a/json-path/pom.xml
+++ b/json-modules/json-path/pom.xml
@@ -9,7 +9,7 @@
com.baeldung
- parent-modules
+ json-modules
1.0.0-SNAPSHOT
diff --git a/json-path/src/main/resources/intro_api.json b/json-modules/json-path/src/main/resources/intro_api.json
similarity index 100%
rename from json-path/src/main/resources/intro_api.json
rename to json-modules/json-path/src/main/resources/intro_api.json
diff --git a/json-path/src/main/resources/intro_service.json b/json-modules/json-path/src/main/resources/intro_service.json
similarity index 100%
rename from json-path/src/main/resources/intro_service.json
rename to json-modules/json-path/src/main/resources/intro_service.json
diff --git a/json-path/src/main/resources/intro_user.json b/json-modules/json-path/src/main/resources/intro_user.json
similarity index 100%
rename from json-path/src/main/resources/intro_user.json
rename to json-modules/json-path/src/main/resources/intro_user.json
diff --git a/json-path/src/main/resources/logback.xml b/json-modules/json-path/src/main/resources/logback.xml
similarity index 100%
rename from json-path/src/main/resources/logback.xml
rename to json-modules/json-path/src/main/resources/logback.xml
diff --git a/json-path/src/main/resources/online_store.json b/json-modules/json-path/src/main/resources/online_store.json
similarity index 95%
rename from json-path/src/main/resources/online_store.json
rename to json-modules/json-path/src/main/resources/online_store.json
index c0ddf274d8..2b271a1124 100644
--- a/json-path/src/main/resources/online_store.json
+++ b/json-modules/json-path/src/main/resources/online_store.json
@@ -1,23 +1,23 @@
-{
- "items":{
- "book":[
- {
- "author":"Arthur Conan Doyle",
- "title":"Sherlock Holmes",
- "price":8.99
- },
- {
- "author":"J. R. R. Tolkien",
- "title":"The Lord of the Rings",
- "isbn":"0-395-19395-8",
- "price":22.99
- }
- ],
- "bicycle":{
- "color":"red",
- "price":19.95
- }
- },
- "url":"mystore.com",
- "owner":"baeldung"
+{
+ "items":{
+ "book":[
+ {
+ "author":"Arthur Conan Doyle",
+ "title":"Sherlock Holmes",
+ "price":8.99
+ },
+ {
+ "author":"J. R. R. Tolkien",
+ "title":"The Lord of the Rings",
+ "isbn":"0-395-19395-8",
+ "price":22.99
+ }
+ ],
+ "bicycle":{
+ "color":"red",
+ "price":19.95
+ }
+ },
+ "url":"mystore.com",
+ "owner":"baeldung"
}
\ No newline at end of file
diff --git a/json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java b/json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java
similarity index 96%
rename from json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java
rename to json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java
index 3408629a6d..9ffe027b6f 100644
--- a/json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java
+++ b/json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/JsonPathUnitTest.java
@@ -1,46 +1,46 @@
-package com.baeldung.jsonpath.introduction;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.util.Map;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.jayway.jsonpath.JsonPath;
-
-import net.minidev.json.JSONArray;
-
-public class JsonPathUnitTest {
-
- private static String json;
- private static File jsonFile = new File("src/main/resources/online_store.json");
-
- private static String readFile(File file, Charset charset) throws IOException {
- return new String(Files.readAllBytes(file.toPath()), charset);
- }
-
- @BeforeClass
- public static void init() throws IOException {
- json = readFile(jsonFile, StandardCharsets.UTF_8);
- }
-
- @Test
- public void shouldMatchCountOfObjects() {
- Map objectMap = JsonPath.read(json, "$");
- assertEquals(3, objectMap.keySet()
- .size());
- }
-
- @Test
- public void shouldMatchCountOfArrays() {
- JSONArray jsonArray = JsonPath.read(json, "$.items.book[*]");
- assertEquals(2, jsonArray.size());
- }
-
-}
+package com.baeldung.jsonpath.introduction;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.Map;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.jayway.jsonpath.JsonPath;
+
+import net.minidev.json.JSONArray;
+
+public class JsonPathUnitTest {
+
+ private static String json;
+ private static File jsonFile = new File("src/main/resources/online_store.json");
+
+ private static String readFile(File file, Charset charset) throws IOException {
+ return new String(Files.readAllBytes(file.toPath()), charset);
+ }
+
+ @BeforeClass
+ public static void init() throws IOException {
+ json = readFile(jsonFile, StandardCharsets.UTF_8);
+ }
+
+ @Test
+ public void shouldMatchCountOfObjects() {
+ Map objectMap = JsonPath.read(json, "$");
+ assertEquals(3, objectMap.keySet()
+ .size());
+ }
+
+ @Test
+ public void shouldMatchCountOfArrays() {
+ JSONArray jsonArray = JsonPath.read(json, "$.items.book[*]");
+ assertEquals(2, jsonArray.size());
+ }
+
+}
diff --git a/json-path/src/test/java/com/baeldung/jsonpath/introduction/OperationIntegrationTest.java b/json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/OperationIntegrationTest.java
similarity index 100%
rename from json-path/src/test/java/com/baeldung/jsonpath/introduction/OperationIntegrationTest.java
rename to json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/OperationIntegrationTest.java
diff --git a/json-path/src/test/java/com/baeldung/jsonpath/introduction/ServiceIntegrationTest.java b/json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/ServiceIntegrationTest.java
similarity index 100%
rename from json-path/src/test/java/com/baeldung/jsonpath/introduction/ServiceIntegrationTest.java
rename to json-modules/json-path/src/test/java/com/baeldung/jsonpath/introduction/ServiceIntegrationTest.java
diff --git a/json-path/src/test/resources/logback.xml b/json-modules/json-path/src/test/resources/logback.xml
similarity index 100%
rename from json-path/src/test/resources/logback.xml
rename to json-modules/json-path/src/test/resources/logback.xml
diff --git a/json/README.md b/json-modules/json/README.md
similarity index 100%
rename from json/README.md
rename to json-modules/json/README.md
diff --git a/json/pom.xml b/json-modules/json/pom.xml
similarity index 95%
rename from json/pom.xml
rename to json-modules/json/pom.xml
index 87bbad460a..04a00598a3 100644
--- a/json/pom.xml
+++ b/json-modules/json/pom.xml
@@ -1,84 +1,84 @@
-
-
- 4.0.0
- org.baeldung
- json
- 0.0.1-SNAPSHOT
- json
-
-
- com.baeldung
- parent-modules
- 1.0.0-SNAPSHOT
-
-
-
-
- org.everit.json
- org.everit.json.schema
- ${everit.json.schema.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.json
- json
- ${json.version}
-
-
- com.google.code.gson
- gson
- ${gson.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
-
- javax.json.bind
- javax.json.bind-api
- ${jsonb-api.version}
-
-
- org.glassfish
- javax.json
- ${javax.version}
-
-
- org.eclipse
- yasson
- ${yasson.version}
-
-
-
- org.apache.commons
- commons-collections4
- ${commons-collections4.version}
- test
-
-
- net.javacrumbs.json-unit
- json-unit-assertj
- ${json-unit-assertj.version}
- test
-
-
-
-
- 1.4.1
- 1.0
- 1.0.1
- 20211205
- 2.8.5
- 1.1.2
- 2.28.0
-
-
+
+
+ 4.0.0
+ org.baeldung
+ json
+ 0.0.1-SNAPSHOT
+ json
+
+
+ com.baeldung
+ json-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.everit.json
+ org.everit.json.schema
+ ${everit.json.schema.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.json
+ json
+ ${json.version}
+
+
+ com.google.code.gson
+ gson
+ ${gson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ javax.json.bind
+ javax.json.bind-api
+ ${jsonb-api.version}
+
+
+ org.glassfish
+ javax.json
+ ${javax.version}
+
+
+ org.eclipse
+ yasson
+ ${yasson.version}
+
+
+
+ org.apache.commons
+ commons-collections4
+ ${commons-collections4.version}
+ test
+
+
+ net.javacrumbs.json-unit
+ json-unit-assertj
+ ${json-unit-assertj.version}
+ test
+
+
+
+
+ 1.4.1
+ 1.0
+ 1.0.1
+ 20211205
+ 2.8.5
+ 1.1.2
+ 2.28.0
+
+
\ No newline at end of file
diff --git a/json/src/main/java/com/baeldung/adapter/PersonAdapter.java b/json-modules/json/src/main/java/com/baeldung/adapter/PersonAdapter.java
similarity index 100%
rename from json/src/main/java/com/baeldung/adapter/PersonAdapter.java
rename to json-modules/json/src/main/java/com/baeldung/adapter/PersonAdapter.java
diff --git a/json/src/main/java/com/baeldung/escape/JsonEscape.java b/json-modules/json/src/main/java/com/baeldung/escape/JsonEscape.java
similarity index 100%
rename from json/src/main/java/com/baeldung/escape/JsonEscape.java
rename to json-modules/json/src/main/java/com/baeldung/escape/JsonEscape.java
diff --git a/json/src/main/java/com/baeldung/jsonb/Person.java b/json-modules/json/src/main/java/com/baeldung/jsonb/Person.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonb/Person.java
rename to json-modules/json/src/main/java/com/baeldung/jsonb/Person.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/CDLDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/CDLDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/CDLDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/CDLDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/CookieDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/CookieDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/CookieDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/CookieDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/DemoBean.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/DemoBean.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/DemoBean.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/DemoBean.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/HTTPDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/HTTPDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/HTTPDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/HTTPDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/JSONArrayDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/JSONArrayDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/JSONArrayDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/JSONArrayDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/JSONArrayGetValueByKey.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/JSONArrayGetValueByKey.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/JSONArrayGetValueByKey.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/JSONArrayGetValueByKey.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/JSONObjectDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/JSONObjectDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/JSONObjectDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/JSONObjectDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/JSONTokenerDemo.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/JSONTokenerDemo.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/JSONTokenerDemo.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/JSONTokenerDemo.java
diff --git a/json/src/main/java/com/baeldung/jsonjava/ObjectToFromJSON.java b/json-modules/json/src/main/java/com/baeldung/jsonjava/ObjectToFromJSON.java
similarity index 100%
rename from json/src/main/java/com/baeldung/jsonjava/ObjectToFromJSON.java
rename to json-modules/json/src/main/java/com/baeldung/jsonjava/ObjectToFromJSON.java
diff --git a/json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java b/json-modules/json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java
similarity index 96%
rename from json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java
rename to json-modules/json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java
index 0ff8650652..0d3ae3b021 100644
--- a/json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java
+++ b/json-modules/json/src/main/java/com/baeldung/jsonobject/iterate/JSONObjectIterator.java
@@ -1,50 +1,50 @@
-package com.baeldung.jsonobject.iterate;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.json.JSONArray;
-import org.json.JSONObject;
-
-public class JSONObjectIterator {
-
- private Map keyValuePairs;
-
- public JSONObjectIterator() {
- keyValuePairs = new HashMap<>();
- }
-
- public void handleValue(String key, Object value) {
- if (value instanceof JSONArray) {
- handleJSONArray(key, (JSONArray) value);
- } else if (value instanceof JSONObject) {
- handleJSONObject((JSONObject) value);
- }
- keyValuePairs.put(key, value);
- }
-
- public void handleJSONObject(JSONObject jsonObject) {
- Iterator jsonObjectIterator = jsonObject.keys();
- jsonObjectIterator.forEachRemaining(key -> {
- Object value = jsonObject.get(key);
- handleValue(key, value);
- });
- }
-
- public void handleJSONArray(String key, JSONArray jsonArray) {
- Iterator