我正在尝试从 WP7 应用程序中的 SO api 获取结果。当我使用以下代码时,我能够让它在控制台应用程序中工作
static void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
Console.Clear();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(RootObject));
var stream = new MemoryStream(Encoding.Default.GetBytes(e.Result));
var gzstream = new GZipInputStream(stream);
RootObject qs = ser.ReadObject(gzstream) as RootObject;
foreach (Question q in qs.questions)
{
Console.WriteLine(q.title);
}
}
重要的部分是 Encoding.Default。如果我选择其他任何东西,它会返回错误 GZIP 标头,第一个魔术字节不匹配'或类似的东西。
WP7 没有默认值,它只有 Unicode 和 UTF8,它们都不起作用。
想法?