description

# splitQueryString static method

Map<String, String> splitQueryString(

1. String query, {
2. Encoding encoding = utf8,

})

Splits the `query` into a map according to the rules specified for FORM post in the HTML 4.01 specification section 17.13.4.

Each key and value in the returned map has been decoded. If the `query` is the empty string, an empty map is returned.

Keys in the query string that have no value are mapped to the empty string.

Each query component will be decoded using `encoding`. The default encoding is UTF-8.

Example:

    final queryStringMap =
        Uri.splitQueryString('limit=10&max=100&search=Dart%20is%20fun');
    print(jsonEncode(queryStringMap));
    // {"limit":"10","max":"100","search":"Dart is fun"}

## Implementation

    static Map<String, String> splitQueryString(
      String query, {
      Encoding encoding = utf8,
    }) {
      return query.split("&").fold({}, (map, element) {
        int index = element.indexOf("=");
        if (index == -1) {
          if (element != "") {
            map[decodeQueryComponent(element, encoding: encoding)] = "";
          }
        } else if (index != 0) {
          var key = element.substring(0, index);
          var value = element.substring(index + 1);
          map[decodeQueryComponent(key, encoding: encoding)] =
              decodeQueryComponent(value, encoding: encoding);
        }
        return map;
      });
    }