c# - 如何获取 JSON 格式的服务器响应?

标签 c# json

我正在从本地驱动器上传 .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/

相关文章:

c# - 将任务标记为已完成

c# - 如何在列表框中显示文件名但使用 openfiledialog 保留相对路径?

javascript - 如何使用函数向 javascript 对象添加值?

json - 查询 API 时,我在传递给 "Assertion failed: You must include an ` 的哈希中得到 `push` id`

php - JSON、AJAX 在 Firefox 上有效,但在 Chrome 上无效

c# - 将 Excel 图表导出为图像

c# - 如何在没有从服务器呈现两个完整页面的情况下将 WebForms 页面加载到 iframe 中?

c# - 在 ASP.NET 中解析 HTML 页面

json - 创建 JSON 意外字符序列时出错

javascript - Titanium Appcelerator 使用 API 解析 Youtube JSON