我正在从本地驱动器上传 .json 文件:
using (WebClient client = new WebClient())
{
client.Headers.Add("Content-Type", "application/json");
byte[] resp = client.UploadFile("http://mycoolWebsite.com", "POST", "path to file");
string textResponse = System.Text.Encoding.ASCII.GetString(resp)
}
当我希望它是 json 时,来自 client.UploadFile
的响应是 byte[]
类型,以便我可以更轻松地解析它。如何要求服务器返回json?
最佳答案
该方法被定义为返回byte[]
,这是有充分理由的。它允许该方法与任何 Web 服务一起使用并从服务器返回原始响应。定义服务器端响应是服务器的责任(显然)。最好的选择是获取原始响应,将其编码为文本(就像您正在做的那样),然后检查响应是否包含格式良好的 JSON,从而允许您re-encode as JSON并在那时进行解析。
响应将是服务器返回的任何内容;由你来处理。
关于c# - 如何获取 JSON 格式的服务器响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24456666/