gpt4 book ai didi

c# - 在 Windows Phone 7 中使用 json webservice

转载 作者:行者123 更新时间:2023-11-30 12:13:02 24 4
gpt4 key购买 nike

我正在制作一个 Windows Phone 应用程序,它可以使用此链接中的 json http://dir.yummly.com/4/public/8a753a70358c827b01358da787bd68f3 ,但是当我尝试异步下载数据时,我无法以可读的语言获得 e.result。这是我的 C# 代码 --

    Uri sub4 = new Uri("http://dir.yummly.com/4/public/8a753a70358c827b01358da787bd68f3");
string kit = sub4.ToString();
WebClient w = new WebClient();
w.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
w.DownloadStringAsync(sub4);
MessageBox.Show("done");

}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
string fres = e.Result;// here e.result was �
}

然后我想反序列化 e.result。 我的代码适用于任何其他 json url。而且由于我正在使用 Windows Phone 应用程序,所以我无法使用其他 webcilent 方法,例如 DownloadData 和 DownloadString。我也见过很多 utf8 和 unicode 之间的转换,但没有一个有效。有人可以帮忙吗??

最佳答案

您访问的 API 提供 gzip 压缩内容,这就是您看到的垃圾文本。您需要在使用前解压缩内容。您可以从标题中看出这一点:

Content-Encoding: gzip

不幸的是,我上次检查时发现 Windows Phone 中没有内置对 GZip 响应的支持。创建解决方法应该不会太难。谷歌搜索时,结果表明影响最小的解决方案是添加 SharpGIS.GZipWebClient来自 NuGet 的库并使用那里的 GZip 支持。

关于c# - 在 Windows Phone 7 中使用 json webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com