QueryString

Parse a html query component into a JsonObject

Usage

JsonObject parsed = QueryString.Parse(query);

Examples

1. Single parameter

JsonObject parsed = QueryString.Parse("lorem=ipsum");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": "ipsum"
}

2. Beginning with question mark

JsonObject parsed = QueryString.Parse("?lorem=ipsum");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": "ipsum"
}

3. Multiple parameters

JsonObject parsed = QueryString.Parse("lorem=ipsum&dolor=sit");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": "ipsum",
  "dolor": "sit"
}

4. Array parameter

JsonObject parsed = QueryString.Parse("lorem[]=ipsum&lorem[]=dolor");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": ["ipsum", "dolor"]
}

5. Array parameter with numeric index

JsonObject parsed = QueryString.Parse("lorem[4]=ipsum&lorem[6]=dolor");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": [null, null, null, null, "ipsum", null, "dolor"]
}

6. Object parameter

JsonObject parsed = QueryString.Parse("lorem[ipsum]=dolor&lorem[amet]=consectetur");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": {
    "ipsum": "dolor",
    "amet": "consectetur"
  }
}

7. A more complex example

JsonObject parsed = QueryString.Parse("lorem[ipsum][0][dolor][0]=sit&lorem[ipsum][0][elit][]=adipiscing");
Console.WriteLine(JsonSerializer.Serialize(parsed));

Output

{
  "lorem": {
    "ipsum": [
      {
        "dolor": ["sit"],
        "elit": ["adipiscing"]
      }
    ]
  }
}