code: @SuppressWarnings("unchecked")
  	public static<X> Map<String, X> toMap(String json, Class<X> valClass) {
  		Map<String, X> map = new HashMap<String, X>();
  		try {
  			JsonFactory f = new JsonFactory();
  			JsonParser jp = f.createJsonParser(json);
  			jp.nextToken(); // will return JsonToken.START_OBJECT (verify?)
  			while (jp.nextToken() != JsonToken.END_OBJECT) {
  				JsonToken token = jp.getCurrentToken();
  				if(token.equals(JsonToken.FIELD_NAME)) {
  					jp.nextToken();// to value token
  					if(valClass.equals(Integer.class) || valClass.equals(int.class) ) {
  						map.put(jp.getCurrentName(), (X) Integer.valueOf(jp.getIntValue()));
  					} else if (valClass.equals(String.class)) {
  						map.put(jp.getCurrentName(), (X) jp.getText());
  					} else if (valClass.equals(Boolean.class) || valClass.equals(boolean.class)) {
  						map.put(jp.getCurrentName(), (X) Boolean.valueOf(jp.getBooleanValue()));
  					}
  				}
  			}
  			jp.close();
  		} catch (Exception e) {
  			throw new RuntimeException(e);
  		}
  		return map;
  	}
docs: Fast 1000% than <code>getObject(json, Map.class);</code>
  @param json simple json string. e.g. {"男":1, "女":0}
  @param valClass class of value. Supports: Integer.class, String.class, Boolean.class