public static JSONObject parseQueryString(String queryString, boolean hasPath) {
        JSONObject uriParameters = new JSONObject();
        if (queryString == null) return uriParameters;
        QueryStringDecoder queryStringDecoder = new QueryStringDecoder(queryString, hasPath);
        Map<String, List<String>> parameters = queryStringDecoder.parameters();
        parameters.forEach((key, values) -> {
            if (values == null || values.isEmpty()) {
                LOG.debug("空参数统一对应空字符串");
                uriParameters.put(key, "");
            } else if (values.size() == 1)
                uriParameters.put(key, values.get(0));
            else
                uriParameters.put(key, values);
        });
        return uriParameters;
    }
public static JSONObject parseQueryString ( String queryString , boolean hasPath ) { JSONObject uriParameters = new JSONObject ( ) ; if ( queryString == null ) return uriParameters ; QueryStringDecoder queryStringDecoder = new QueryStringDecoder ( queryString , hasPath ) ; Map < String , List < String > > parameters = queryStringDecoder . parameters ( ) ; parameters . forEach ( ( key , values ) -> { if ( values == null || values . isEmpty ( ) ) { LOG . debug ( "空参数统一对应空字符串" ) ; uriParameters . put ( key , "" ) ; } else if ( values . size ( ) == 1 ) uriParameters . put ( key , values . get ( 0 ) ) ; else uriParameters . put ( key , values ) ; } ) ; return uriParameters ; }
parse the given http query string

@param queryString the standard http query string
@param hasPath     whether the query string contains uri
@return the parsed json object. if the given query string is empty then an empty json object is returned.