gpt4 book ai didi

c# - 在 C# 中通过 WebClient 将 JSON 发布到 URL

转载 作者:IT王子 更新时间:2023-10-29 03:38:39 27 4
gpt4 key购买 nike

我有一些 JavaScript 代码需要转换为 C#。我的 JavaScript 代码将一些 JSON 发布到已创建的 Web 服务。此 JavaScript 代码运行良好,如下所示:

var vm = { k: "1", a: "2", c: "3", v: "4" };
$.ajax({
url: "http://www.mysite.com/1.0/service/action",
type: "POST",
data: JSON.stringify(vm),
contentType: "application/json;charset=utf-8",
success: action_Succeeded,
error: action_Failed
});

function action_Succeeded(r) {
console.log(r);
}

function log_Failed(r1, r2, r3) {
alert("fail");
}

我正在尝试弄清楚如何将其转换为 C#。我的应用程序使用的是 .NET 2.0。据我所知,我需要执行以下操作:

using (WebClient client = new WebClient())
{
string json = "?";
client.UploadString("http://www.mysite.com/1.0/service/action", json);
}

我现在有点卡住了。我不确定 json 应该是什么样子。我不确定是否需要设置内容类型。如果我这样做,我不确定该怎么做。我还看到了 UploadData。所以,我不确定我是否使用了正确的方法。从某种意义上说,我的数据序列化是我的问题。

有人可以告诉我我在这里缺少什么吗?

谢谢!

最佳答案

问题已经得到解答,但我想我已经找到了更简单且与问题标题更相关的解决方案,这里是:

var cli = new WebClient();
cli.Headers[HttpRequestHeader.ContentType] = "application/json";
string response = cli.UploadString("http://some/address", "{some:\"json data\"}");

PS:在大多数 .net 实现中,但是 not in all WebClient 是 IDisposable,因此当然最好对其进行“使用”或“处置”。然而在这种特殊情况下 it is not really necessary .

关于c# - 在 C# 中通过 WebClient 将 JSON 发布到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091300/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com