使用c#调用XMLHTTP(XMLHTTPClass) ,发送和返回 json
时间: 2024-04-03 19:32:43 浏览: 108
可以使用以下代码示例来使用C#调用XMLHTTP,发送JSON并获取返回的JSON数据:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace XMLHTTPExample
{
class Program
{
static void Main(string[] args)
{
// 构造请求URL
string url = "http://example.com/api";
// 构造请求数据
var data = new
{
key1 = "value1",
key2 = "value2"
};
var json = new JavaScriptSerializer().Serialize(data);
// 创建XMLHTTP对象
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
// 发送请求
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(json);
writer.Flush();
}
// 获取响应
var response = request.GetResponse();
var stream = response.GetResponseStream();
var reader = new StreamReader(stream);
var responseJson = reader.ReadToEnd();
// 解析响应数据
var result = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(responseJson);
Console.WriteLine(result["key"]);
Console.ReadKey();
}
}
}
```
在上面的代码中,我们首先构造了请求URL和请求JSON数据。然后创建了一个XMLHTTP对象,并设置了请求方法和请求头。接着使用StreamWriter将JSON数据写入请求流中,并获取响应数据。最后使用JavaScriptSerializer将响应数据解析为Dictionary<string, object>对象,并获取其中的值。
注意,以上代码中使用了JavaScriptSerializer来解析JSON数据,需要在程序中引入System.Web.Extensions.dll。
阅读全文