【问题标题】:Consuming compressed JSON using HttpClient and Jil使用 HttpClient 和 Jil 使用压缩的 JSON
【发布时间】:2015-10-26 06:36:54
【问题描述】:

我对如何从 HttpClient 实例正确反序列化 gzip 的 Json 有效负载有点困惑。

到目前为止,我正在执行以下操作,但这似乎是错误的。至少太复杂了。我不能向 Jil 提供流吗? HttpClient不能解压流吗?

var client = new HttpClient();
var userEndPoint = new Uri(baseUri, "api/login");
var request = new HttpRequestMessage();
request.RequestUri = userEndPoint;
request.Method = HttpMethod.Get;
var response = _client.SendAsync(request).Result;

var userGzipByteArray = response.Content.ReadAsByteArrayAsync().Result;
var outStream = new MemoryStream();
using (var gzStream = new GZipStream(userGzipByteArray , CompressionMode.Decompress))
{
    gzStream.CopyTo(outStream);
}
var userByteArray =  outStream.ToArray();
var userJson = userByteArray .ConvertToString();
var user = JSON.Deserialize<User>(userJson , Jil.Options.ISO8601PrettyPrintIncludeInherited);

【问题讨论】:

    标签: c# jil


    【解决方案1】:

    您可以为此使用AutomaticDecompression 标志。见Does .NET's HttpWebResponse uncompress automatically GZiped and Deflated responses?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 2022-11-11
      相关资源
      最近更新 更多