河北网站建站系统哪家好,网站后台维护月薪多少,课题组研究网站怎么做,建设信源网站HttpClient 使用Json数据 现代Web项目中#xff0c;Json是最常用的数据格式。不论是前后端的交互中#xff0c;还是纯前端项目中#xff0c;都是如此。因此#xff0c;.Net HttpClient 能不能更加方便、快捷的处理Json格式数据#xff0c;也就至关重要了#xff01; 文末…HttpClient 使用Json数据 现代Web项目中Json是最常用的数据格式。不论是前后端的交互中还是纯前端项目中都是如此。因此.Net HttpClient 能不能更加方便、快捷的处理Json格式数据也就至关重要了 文末有视频效果 本文目录 HttpClient 使用Json数据初始化手动管理 Json 数据使用相关类库, 管理Json数据总结视频演示 手动处理Json数据也是可以的只不过需要服务端配合、比较繁杂与使用框架提供的相关类库操作并没有本质区别只不过使用框架更方便、稳定 .Net HttpClient 提供了一流的Json数据支持
System.Net.Http.Json 提供了序列化和反序列化 Json 数据功能Microsoft.Extensions.Http 扩展库提供了发送请求和接收响应时对Json数据的扩展支持Microsoft.Net.Http.Headers 提供请求或响应头的一些枚举及帮功能
初始化
#!import ./Ini.ipynb手动管理 Json 数据 借助 System.Net.Http.Json 或者 Newtonsoft.Json类库手动管理(序列化、反序列化等)Json数据也是可以的。 在请求中使用Json数据 在请求中使用json数据基本就是指在请求体中使用json。url参数、路由参数、请求头中很少使用json数据当然如果使用也是可以的只要服务端配合就行 #r nuget:Newtonsoft.Json{ //手动管理json//参数对象var postData new {id 1,name 小品王};//手动转为json字符串var textJsonData Newtonsoft.Json.JsonConvert.SerializeObject(postData);//请求内容var requestContent new StringContent(textJsonData, Encoding.UTF8, System.Net.Mime.MediaTypeNames.Application.Json); //发送请求var response await SharedClient.PostAsync(/api/AdvancedPost/JsonData, requestContent);//读取响应内容var content await response.Content.ReadAsStringAsync();//输出响应内容Console.WriteLine(content);
}使用Json格式响应数据
#r nuget:Newtonsoft.Json{ //手动管理json//参数对象var postData new {id 2,name 线程张};//手动转为json字符串var textJsonData Newtonsoft.Json.JsonConvert.SerializeObject(postData);//请求内容var requestContent new StringContent(textJsonData, Encoding.UTF8, System.Net.Mime.MediaTypeNames.Application.Json); //发送请求var response await SharedClient.PostAsync(/api/AdvancedPost/JsonData, requestContent);//读取响应内容var content await response.Content.ReadAsStringAsync();//手动反序列化Json为匿名对象(System.Text.Json不支持)var responseObj Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(content,postData);//输出响应内容Console.WriteLine(content);
}使用相关类库, 管理Json数据 .Net框架提供了丰富的 Json 类库使得在HttpClient中进行jsonr操作非常方便、好用! 注意 确保引入了 Microsoft.Extensions.Http 类库
在请求中使用json数据
{ //引入 Microsoft.Extensions.Http//参数对象var postData new {id 2,name 线程张};//请求内容var requestContent JsonContent.Create(postData); //发送请求var response await SharedClient.PostAsync(/api/AdvancedPost/JsonData, requestContent);//读取响应内容var content await response.Content.ReadAsStringAsync();//手动反序列化Json为匿名对象(System.Text.Json不支持)var responseObj Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(content,postData);//输出响应内容Console.WriteLine(content);
}使用响应中的json数据
{ //引入 Microsoft.Extensions.Http//参数对象var postData new {id 2,name 线程张};//请求内容var requestContent JsonContent.Create(postData); //发送请求var response await SharedClient.PostAsync(/api/AdvancedPost/JsonData, requestContent);//读取响应内容,并且转为对象var contentObject await response.Content.ReadFromJsonAsync(postData.GetType());contentObject.Display();
}总结 无论是手动处理 JSON 数据还是借助框架类库进行管理其核心原理并无本质区别都是围绕接收和响应这种特定格式的数据展开的。 掌握发送请求和接收响应这两个核心操作后处理JSON数据就会变得轻而易举。 当然了还是推荐使用框架提供的类库非常方便、快捷且不容出错毕竟框架类库的质量还是非常高的 视频演示 C# HttpClient 使用Json数据