code: protected Object parseArray(final String name) {
          if (name != null) {
              _callback.arrayStart(name);
          } else {
              _callback.arrayStart();
          }
  
          read('[');
  
          int i = 0;
          char current = get();
          while (current != ']') {
              String elemName = String.valueOf(i++);
              Object elem = parse(elemName);
              doCallback(elemName, elem);
  
              if ((current = get()) == ',') {
                  read(',');
              } else if (current == ']') {
                  break;
              } else {
                  throw new JSONParseException(s, pos);
              }
          }
  
          read(']');
  
          return _callback.arrayDone();
      }
docs: Parses the next array.
  
  @return the array
  @throws JSONParseException if invalid JSON is found