Получение данных JSON из потока ответов и чтение их в виде строки?
Я пытаюсь прочитать ответ с сервера, который я получаю при отправке запроса POST. Просмотр скрипача, он говорит, что это ответ JSON. Как декодировать его в обычную строку с помощью C# Winforms, предпочтительно без внешних API. Я могу предоставить дополнительные результаты кода / скрипача, если они вам нужны.
скрипач и тарабарщина изображения:
тарабарщина пришла от моих попыток прочитать поток в коде ниже:
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());
2 ответов
Как упоминалось в комментариях, Newtonsoft.Json действительно хорошая библиотека и стоит использовать-очень легкий.
Если вы действительно хотите использовать только библиотеки Microsoft .NET, также рассмотрите System.Сеть.Скрипт.Сериализация.Класс javascriptserializer.
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var jsonObject = serializer.DeserializeObject(sr.ReadToEnd());
предположим (вы еще не выяснили), что вам нужно на самом деле расшифруйте поток, так как A) получение удаленного потока текста хорошо документировано, и B) вы не можете ничего сделать с не декодированным потоком JSON.
ваш лучший курс действий для реализации System.Web.Helpers.Json
:
using System.Web.Helpers.Json
...
var jsonObj = Json.Decode(jsonStream);