Notice this question is very important for this answer, so I put this class as the answer there . This answer will receive any updates for this class.
As far as I know, nothing has been created for this. But you can create your own class.
So I did:
Same:
// Age=19&Name=John%26Doe&Values%5B0%5D=1&Values%5B1%5D=2&Values%5B2%5D%5Bkey1%5D=value1&Values%5B2%5D%5Bkey2%5D=value2 QueryStringBuilder.BuildQueryString(new { Age = 19, Name = "John&Doe", Values = new object[] { 1, 2, new Dictionary<string, string>() { { "key1", "value1" }, { "key2", "value2" }, } }, }); // 0=1&1=2&2%5B0%5D=one&2%5B1%5D=two&2%5B2%5D=three&3%5Bkey1%5D=value1&3%5Bkey2%5D=value2 QueryStringBuilder.BuildQueryString(new object[] { 1, 2, new object[] { "one", "two", "three" }, new Dictionary<string, string>() { { "key1", "value1" }, { "key2", "value2" }, } } );
source share