Строка запроса Webclient к json string - c# - PullRequest
0 голосов
/ 06 февраля 2020

Я использую запрос ниже для отправки данных в webAPI. Работает нормально. Как я могу преобразовать строку запроса, которую я использовал, в json строку в этой функции? Возможно ли это?

        WebClient wc = new WebClient();

        wc.Headers.Add("Authorization", "Bearer " + token);
        wc.QueryString.Add("unique_id", (checklist_ID.ToString()));
        wc.QueryString.Add("Question_no", (QNO.ToString()));
        wc.QueryString.Add("Question", t1_question.Text.ToString());
        wc.QueryString.Add("Password", t1_password.Text.ToString());

        var data = wc.UploadValues(url, "POST", wc.QueryString);

         //here I want this Querystring data in below json format 
         // [{"unique_id":"2233","Question_no":"43","Question":"XXXX??","Password":"testpswd"}]

        var responseString = UnicodeEncoding.UTF8.GetString(data);

1 Ответ

0 голосов
/ 06 февраля 2020

Используйте Linq и JsonConvert, чтобы получить желаемый результат

//Use LINQ to convert the QueryString to Dictionary
var keyValuePairs = (
        from key in wc.QueryString.AllKeys
        from value in wc.QueryString.GetValues(key)
        select new { key, value }).ToDictionary(x => x.key, x => x.value);

//Use Newtonsoft.Json to Serialize the object to json format
Console.WriteLine(JsonConvert.SerializeObject(keyValuePairs));
...