code: public static List toList( JSONArray jsonArray, JsonConfig jsonConfig ) {
        if( jsonArray.size() == 0 ){
           return new ArrayList();
        }
  
        Class objectClass = jsonConfig.getRootClass();
        Map classMap = jsonConfig.getClassMap();
  
        List list = new ArrayList();
        int size = jsonArray.size();
        for( int i = 0; i < size; i++ ){
           Object value = jsonArray.get( i );
           if( JSONUtils.isNull( value ) ){
              list.add( null );
           }else{
              Class type = value.getClass();
              if( JSONArray.class.isAssignableFrom( type ) ){
                 list.add( toList( (JSONArray) value, objectClass, classMap ) );
              }else if( String.class.isAssignableFrom( type )
                    || Boolean.class.isAssignableFrom( type ) || JSONUtils.isNumber( type )
                    || Character.class.isAssignableFrom( type )
                    || JSONFunction.class.isAssignableFrom( type ) ){
                 if( objectClass != null && !objectClass.isAssignableFrom( type ) ){
                    value = JSONUtils.getMorpherRegistry()
                          .morph( objectClass, value );
                 }
                 list.add( value );
              }else{
                 if( objectClass != null ){
                    JsonConfig jsc = jsonConfig.copy();
                    jsc.setRootClass( objectClass );
                    jsc.setClassMap( classMap );
                    list.add( JSONObject.toBean( (JSONObject) value, jsc ) );
                 }else{
                    list.add( JSONObject.toBean( (JSONObject) value ) );
                 }
              }
           }
        }
        return list;
     }
docs: Creates a List from a JSONArray.<br>
  
  @deprecated replaced by toCollection
  @see #toCollection(JSONArray,JsonConfig)