revert trailing comma in old Reader (#1126)

diff --git a/include/json/json_features.h b/include/json/json_features.h
index a5b7305..7c7e9f5 100644
--- a/include/json/json_features.h
+++ b/include/json/json_features.h
@@ -23,7 +23,6 @@
   /** \brief A configuration that allows all features and assumes all strings
    * are UTF-8.
    * - C & C++ comments are allowed
-   * - Trailing commas in objects and arrays are allowed.
    * - Root object can be any JSON value
    * - Assumes Value strings are encoded in UTF-8
    */
@@ -32,7 +31,6 @@
   /** \brief A configuration that is strictly compatible with the JSON
    * specification.
    * - Comments are forbidden.
-   * - Trailing commas in objects and arrays are forbidden.
    * - Root object must be either an array or an object value.
    * - Assumes Value strings are encoded in UTF-8
    */
@@ -45,10 +43,6 @@
   /// \c true if comments are allowed. Default: \c true.
   bool allowComments_{true};
 
-  /// \c true if trailing commas in objects and arrays are allowed. Default \c
-  /// true.
-  bool allowTrailingCommas_{true};
-
   /// \c true if root must be either an array or an object value. Default: \c
   /// false.
   bool strictRoot_{false};
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index 2c6fead..10be6d2 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -67,7 +67,6 @@
 Features Features::strictMode() {
   Features features;
   features.allowComments_ = false;
-  features.allowTrailingCommas_ = false;
   features.strictRoot_ = true;
   features.allowDroppedNullPlaceholders_ = false;
   features.allowNumericKeys_ = false;
@@ -455,9 +454,7 @@
       initialTokenOk = readToken(tokenName);
     if (!initialTokenOk)
       break;
-    if (tokenName.type_ == tokenObjectEnd &&
-        (name.empty() ||
-         features_.allowTrailingCommas_)) // empty object or trailing comma
+    if (tokenName.type_ == tokenObjectEnd && name.empty()) // empty object
       return true;
     name.clear();
     if (tokenName.type_ == tokenString) {
@@ -505,20 +502,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();