【发布时间】:2013-12-07 03:40:43
【问题描述】:
我正在尝试从我发送 POST 请求时收到的服务器读取响应。查看提琴手,它说这是一个 JSON 响应。如何使用 C# Winforms 将其解码为普通字符串,最好不要使用外部 API。如果您需要,我可以提供额外的代码/提琴手结果。
提琴手和胡言乱语的图像:
乱码来自我尝试读取以下代码中的流:
Stream sw = requirejs.GetRequestStream();
sw.Write(logBytes, 0, logBytes.Length);
sw.Close();
response = (HttpWebResponse)requirejs.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
MessageBox.Show(sr.ReadToEnd());
【问题讨论】:
-
“最好没有外部 API。”使用外部 API,例如 Newtonsoft.Json(也称为 JSON.NET)。
-
您需要将其作为字符串进行显示,还是需要利用其中包含的数据(意味着您需要将其作为数组/列表提供)?
-
@SteveWellens - OP 希望将响应作为字符串读取,这确实不需要外部 API。解析可能需要 JSON.Net... 代码看起来很合理。显然缺少创建,OP 可能需要阅读有关encodings 的信息,这很可能是输出的原因。
-
@AlexeiLevenkov - 感谢您重申 OP 的愿望。我认为他会发现尝试从 JSON 字符串创建对象需要大量工作,而使用 3rd 方库是一种可接受的方式。我正在向他可能会去的方向轻推他。
-
@r3mus 我需要它作为字符串,然后我可以将它作为标题发送
标签: c# json winforms httpwebresponse