【.net/.net core】使用System.Web.HttpUtility.UrlDecode处理web请求编码问题

问题场景:将数据已JSON字符串写入请求内容后,在接收端接收数据时,数据内容为URL编码后的内容,需要先将接收的字符串数据URL解码后才可转换为数据对象

解决办法:使用System.Web.HttpUtility.UrlDecode(string s)方法对字符串进行URL解码

注:使用System.Net. WebUtility.UrlDecode(string s)解码后,中文内容为unicode编码格式,需要再次将unicode编码转换为中文,经测试System.Web.HttpUtility.UrlDecode(string s)方法可直接转换为中文

代码:

cs 复制代码
//数据类
public class Person{
    public string eid {get;set;}
    public string name {get;set;}
}

//编码字符串数据 
/*
    数据内容为[{"eid":"1214","name":"陈慧敏"},{"eid":"1189","name":"吴莎莎"},{"eid":"1218","name":"陈赟博"}]
*/
string urlCodeStr = "%5b%7b%22eid%22%3a%221214%22%2c%22name%22%3a%22%u9648%u6167%u654f%22%7d%2c%7b%22eid%22%3a%221189%22%2c%22name%22%3a%22%u5434%u838e%u838e%22%7d%2c%7b%22eid%22%3a%221218%22%2c%22name%22%3a%22%u9648%u8d5f%u535a%22%7d%5d"

//使用URL解码方法对字符串进行解码
string jsonStr = System.Web.HttpUtility.UrlDecode(urlCodeStr);

//将解码后的字符串反序列化为List<Person>集合
List<Person> personData = JsonConvert.DeserializeObject<List<Person>>(jsonStr);
相关推荐
csdn_aspnet17 小时前
在 .NET Core 8 中实现 CORS
.netcore·跨域·cors·.net8
csdn_aspnet2 天前
在 ASP.NET Core (WebAPI) 中启用 CORS
后端·asp.net·.netcore
观无3 天前
Windows 本地电脑搭建一个私有的、类似 Gitee 的 Git 服务
gitee·jenkins·.netcore
武藤一雄5 天前
C# 异常(Exception)处理避坑指南
windows·microsoft·c#·.net·.netcore·鲁棒性
csdn_aspnet6 天前
在 ASP.NET Core 中使用自定义属性实现 HTTP 请求和响应加密
http·asp.net·.netcore
观无6 天前
.NET Core + Ocelot 网关 跨域 (CORS) 配置
状态模式·.netcore
csdn_aspnet6 天前
如何在 .NET Core WebAPI 和 Javascript 应用程序中安全地发送/接收密钥参数
javascript·.netcore·cryptojs
武藤一雄8 天前
C# 异步回调与等待机制
前端·microsoft·设计模式·微软·c#·.netcore
武藤一雄9 天前
C#万字详解 栈与托管堆 的底层逻辑
windows·microsoft·c#·.net·.netcore
武藤一雄9 天前
深入拆解.NET内存管理:从GC机制到高性能内存优化
windows·microsoft·c#·.net·wpf·.netcore·内存管理