下载 JSON 文件,但解析显示不可读的字符 [重复]

Posted

技术标签:

【中文标题】下载 JSON 文件,但解析显示不可读的字符 [重复]【英文标题】:Downloading JSON file, but parsing displays unreadable characters [duplicate] 【发布时间】:2017-12-12 02:04:07 【问题描述】:

我正在尝试从我为本地网站创建的 ParseHub API 下载 JSON 文件。如果我在浏览器中输入 URL,我会得到 JSON 格式的所有内容。

但是当下载到我的 C# 应用程序时,它只显示随机的、不可读的字符,如下图所示: Console app displaying the result of downloaded JSON

我尝试将页面下载为字符串:

Uri uri = new Uri(url); //url is the link to my API page
HttpClient wc = new HttpClient();

string json = await wc.GetStringAsync(uri);

在调试会话期间,我看到下载并保存在字符串 json 中的不可读字符。

我尝试了“邮递员”中的 URL,它给了我:Postman Headers tab

注意:上面写着 Content-Encoding: gzip。

我认为这可能是问题所在。

感谢任何帮助。

谢谢, 安德鲁

【问题讨论】:

【参考方案1】:

如果它是 gzip 编码的,那么您可以将数据作为流获取并通过 GZipStream 读取它

理想情况下,您应该使用 WebClient 而不是 HttpClient。我怀疑仅进行该更改就足以使其自动解压缩。

【讨论】:

以上是关于下载 JSON 文件,但解析显示不可读的字符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将古吉拉特语文本插入 MySQL 表会导致垃圾字符和不可读的文本

R语言 二进制文件

HttpRequestMessage.Content 带有无效和不可读的字符

jsonpath解析

C#解析JSON字符串总结

尝试解析 json 字符串,但得到对象“”的预期开始,但改为“EOF”