Allow trailing comma in arrays if dropped null placeholders are not allowed
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index e539793..aa788cd 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -503,15 +503,16 @@
   Value init(arrayValue);
   currentValue().swapPayload(init);
   currentValue().setOffsetStart(token.start_ - begin_);
-  skipSpaces();
-  if (current_ != end_ && *current_ == ']') // empty array
-  {
-    Token endArray;
-    readToken(endArray);
-    return true;
-  }
   int index = 0;
   for (;;) {
+    skipSpaces();
+    if (current_ != end_ && *current_ == ']' && (index == 0 || (features_.allowTrailingCommas_ && !features_.allowDroppedNullPlaceholders_))) // empty array or trailing comma
+    {
+      Token endArray;
+      readToken(endArray);
+      return true;
+    }
+
     Value& value = currentValue()[index++];
     nodes_.push(&value);
     bool ok = readValue();
@@ -1493,15 +1494,15 @@
   Value init(arrayValue);
   currentValue().swapPayload(init);
   currentValue().setOffsetStart(token.start_ - begin_);
-  skipSpaces();
-  if (current_ != end_ && *current_ == ']') // empty array
-  {
-    Token endArray;
-    readToken(endArray);
-    return true;
-  }
   int index = 0;
   for (;;) {
+    skipSpaces();
+    if (current_ != end_ && *current_ == ']' && (index == 0 || (features_.allowTrailingCommas_ && !features_.allowDroppedNullPlaceholders_))) // empty array or trailing comma
+    {
+      Token endArray;
+      readToken(endArray);
+      return true;
+    }
     Value& value = currentValue()[index++];
     nodes_.push(&value);
     bool ok = readValue();
diff --git a/test/data/fail_test_array_02.json b/test/data/fail_test_array_02.json
new file mode 100644
index 0000000..222a1b4
--- /dev/null
+++ b/test/data/fail_test_array_02.json
@@ -0,0 +1 @@
+[1,,]
diff --git a/test/data/test_array_08.expected b/test/data/test_array_08.expected
new file mode 100644
index 0000000..ef1f262
--- /dev/null
+++ b/test/data/test_array_08.expected
@@ -0,0 +1,2 @@
+.=[]
+.[0]=1
diff --git a/test/data/test_array_08.json b/test/data/test_array_08.json
new file mode 100644
index 0000000..e8b1a17
--- /dev/null
+++ b/test/data/test_array_08.json
@@ -0,0 +1 @@
+[1,]