Получение данных JSON из streamа ответов и чтение его в виде строки?

Я пытаюсь прочитать ответ с сервера, который я получаю, когда отправляю запрос POST. Просмотр скрипача, он говорит, что это ответ JSON. Как его декодировать в обычную строку с использованием C # Winforms, предпочтительно без внешних API. Я могу предоставить дополнительные результаты кода / скрипача, если они вам понадобятся.

Изображения скрипача и тарабарщины:

тарабарщинаJSON

Талисман произошел из моих попыток прочитать stream в коде ниже:

Stream sw = requirejs.GetRequestStream(); sw.Write(logBytes, 0, logBytes.Length); sw.Close(); response = (HttpWebResponse)requirejs.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader sr = new StreamReader(stream); MessageBox.Show(sr.ReadToEnd()); 

Как упоминалось в комментариях, Newtonsoft.Json действительно хорошая библиотека и стоит использовать – очень легкий.

Если вы действительно хотите использовать только библиотеки Microsoft .NET, также рассмотрите System.Web.Script.Serialization.JavaScriptSerializer.

 var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var jsonObject = serializer.DeserializeObject(sr.ReadToEnd()); 

Предполагая (вы еще не выяснили), что вам нужно действительно декодировать stream, поскольку A) извлечение удаленного streamа текста хорошо документировано, и B) вы не можете ничего сделать с не декодированным streamом JSON ,

Ваш лучший способ действий – внедрить System.Web.Helpers.Json :

 using System.Web.Helpers.Json ... var jsonObj = Json.Decode(jsonStream);