public static Map<String,Object> decode(final Map<String,Object> form,final String encoding){
  if (form != null) {
    for (    final String key : form.keySet()) {
      final Object value=form.get(key);
      if (value instanceof String) {
        form.put(key,decode(value.toString(),encoding));
      }
    }
  }
  return form;
}

public static Map < String , Object > decode ( final Map < String , Object > form , final String encoding ) { if ( form != null ) { for ( final String key : form . keySet ( ) ) { final Object value = form . get ( key ) ; if ( value instanceof String ) { form . put ( key , decode ( value . toString ( ) , encoding ) ) ; } } } return form ; }
decodes the encoded string values in the map using the specified encoding ( e . g . utf - 8 ) . the map is structurally similar to a key / value data store but with the contents from an html form . keys with string values are searched and decoded , which then get repaired with the same key . the string value is decoded until the value stops changing ( in other words , until the value is completely decoded ) . < p / >
