Fix primitive boolean array serializing&deserializing

Signed-off-by: Degubi <gergonoorbi@gmail.com>
diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArrayDeserializer.java b/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArrayDeserializer.java
new file mode 100644
index 0000000..daaf64a
--- /dev/null
+++ b/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArrayDeserializer.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0,
+ * or the Eclipse Distribution License v. 1.0 which is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+ */
+
+package org.eclipse.yasson.internal.serializer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.yasson.internal.Unmarshaller;
+
+/**
+ * Array unmarshaller item implementation for small int.
+ */
+public class BooleanArrayDeserializer extends AbstractArrayDeserializer<boolean[]> {
+
+    private final List<Boolean> items = new ArrayList<>();
+
+    /**
+     * Creates new instance of byte array deserializer.
+     *
+     * @param builder deserializer builder
+     */
+    protected BooleanArrayDeserializer(DeserializerBuilder builder) {
+        super(builder);
+    }
+
+    @Override
+    protected List<?> getItems() {
+        return items;
+    }
+
+    @Override
+    public boolean[] getInstance(Unmarshaller unmarshaller) {
+        final int size = items.size();
+        final boolean[] byteArray = new boolean[size];
+        for (int i = 0; i < size; i++) {
+            byteArray[i] = items.get(i);
+        }
+        return byteArray;
+    }
+}
diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArraySerializer.java b/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArraySerializer.java
new file mode 100644
index 0000000..1c05f72
--- /dev/null
+++ b/src/main/java/org/eclipse/yasson/internal/serializer/BooleanArraySerializer.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0,
+ * or the Eclipse Distribution License v. 1.0 which is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+ */
+
+package org.eclipse.yasson.internal.serializer;
+
+import jakarta.json.bind.serializer.SerializationContext;
+import jakarta.json.stream.JsonGenerator;
+
+/**
+ * Serializes byte array as JSON array of ints.
+ */
+public class BooleanArraySerializer extends AbstractArraySerializer<boolean[]> {
+
+    /**
+     * Creates new instance of byte array serializer.
+     *
+     * @param builder serializer builder
+     */
+    protected BooleanArraySerializer(SerializerBuilder builder) {
+        super(builder);
+    }
+
+    @Override
+    protected void serializeInternal(boolean[] obj, JsonGenerator generator, SerializationContext ctx) {
+        for (boolean b : obj) {
+            generator.write(b);
+        }
+    }
+
+}
diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/DeserializerBuilder.java b/src/main/java/org/eclipse/yasson/internal/serializer/DeserializerBuilder.java
index f6aae84..ad8250e 100644
--- a/src/main/java/org/eclipse/yasson/internal/serializer/DeserializerBuilder.java
+++ b/src/main/java/org/eclipse/yasson/internal/serializer/DeserializerBuilder.java
@@ -287,6 +287,8 @@
             return new FloatArrayDeserializer(this);
         } else if (componentType == double.class) {
             return new DoubleArrayDeserializer(this);
+        } else if (componentType == boolean.class) {
+            return new BooleanArrayDeserializer(this);
         } else {
             return new ObjectArrayDeserializer(this);
         }
diff --git a/src/main/java/org/eclipse/yasson/internal/serializer/SerializerBuilder.java b/src/main/java/org/eclipse/yasson/internal/serializer/SerializerBuilder.java
index e74f5d7..1d6b2fa 100644
--- a/src/main/java/org/eclipse/yasson/internal/serializer/SerializerBuilder.java
+++ b/src/main/java/org/eclipse/yasson/internal/serializer/SerializerBuilder.java
@@ -140,6 +140,8 @@
             return new FloatArraySerializer(this);
         } else if (componentType == double.class) {
             return new DoubleArraySerializer(this);
+        } else if (componentType == boolean.class) {
+            return new BooleanArraySerializer(this);
         } else {
             return new ObjectArraySerializer<>(this);
         }