Streamreader возвращает значение null для поля, имеющего значение

#c# #asp.net #stream #streamreader

#c# #asp.net #течение #потоковый считыватель

Вопрос:

Я использую streamreader для получения значений из URL-адреса. Все это прекрасно работает для 20 полей, но я столкнулся с проблемой с одним конкретным полем, которое отображается как имеющее значение, но возвращает значение null, как показано на рисунке ниже.

введите описание изображения здесь

Это не проблема с разрешениями, так как все остальные поля работают нормально (на приведенном выше скриншоте показана только сокращенная версия для удобства). Кроме того, и веб-браузер, и приложение c# работают от имени одного и того же пользователя.

 string url = "test.com";  WebRequest myReq = WebRequest.Create(url);  string credentials = "username:pwd";  CredentialCache mycache = new CredentialCache();  myReq.Headers["Authorization"] = "Basic "     Convert.ToBase64String(Encoding.ASCII.GetBytes(credentials));  myReq.Method = "GET";  myReq.ContentType = "application/json";  WebResponse wr = myReq.GetResponse();  Stream receiveStream = wr.GetResponseStream();  StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);  string content = reader.ReadToEnd();  

Я действительно застрял в том, что может быть причиной того, что он возвращается как нулевой. Надеюсь, кто-нибудь укажет мне правильное направление!

Комментарии:

1. streamreader не возвращает null, он просто возвращает строку, поэтому вы можете посмотреть, что генерирует ответ, если строка не соответствует вашим ожиданиям..

2. согласно @JonasH, я немного сбит с толку. StreamReader просто считывает байты и выдает вам строку. Он ничего не знает о «полях». Это похоже на json, поэтому я ожидал бы, что там будет какая-то десериализация json. У современного HttpClient есть несколько простых шаблонов для этого. Дата-время в json «нечетное». Он сериализуется в виде строки. Сериализаторы проанализируют его, чтобы вернуться к дате и времени. Неясно, какие инструменты вы там используете. Но «просмотрщик html», вероятно, не поймет json (?)