net core 序列化与反序列化与遇到的几个坑

简介: net core 序列化与反序列化与遇到的几个坑

之前在C#里面序列化直接引入命名空间后使用JavaScriptSerializer jss = new JavaScriptSerializer();就可以用,

而net core里面不这样用了,我们来看一看怎么使用。


 

1、序列化与反序列化。

2、开发中与C#的不同点。


序列化与反序列化:

同样的,在Nuget 入Newtonsoft.Json,如下图引用:

 


 

使用方式如下:

//将实体类序列化为JSON
var jso n= Newtonsoft.Json.JsonConvert.SerializeObject(data);
//反序列化JSON
 T Model = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(json);

开发中与C#的不同点:

1、后台接收前台的值;

 C# 后台接收:

  • 在方法的括号里面直接接收;
  • 使用Request[“指定名称”];
  • 使用获取body的方式

net core 后台接收:

  • 在方法的括号里面直接接收;
  • 使用Request.Form[“指定名称”];
  • 使用获取body的方式

 

2、文件没有放在wwwroot文件下面

C#读写:

  • 任意位置都可以

net core读写

  • 写:任意位置都可以
  • 度:比如图片文件没在wwwroot文件下面就不能读取,如果非要读取,必须在Startup.cs进行依赖注入,如下,原来的东西不要动,在Configure方法下面的app.UseStaticFiles();下面添加如下代码
 //设置访问文件
            app.UseStaticFiles(new StaticFileOptions
            {
                //配置除了默认的wwwroot文件中的静态文件以外的文件夹  提供 Web 根目录外的文件  经过此配置以后,就可以访问upload文件下的文件
                FileProvider = new PhysicalFileProvider(
                  Path.Combine(Directory.GetCurrentDirectory(), "upload")),  //upload文件名可以任意替换
                RequestPath = "/upload",
            });

3、获取文件路径

C#获取文件路径:

  • System.Web.HttpContext.Current.Server.MapPath(applicationPath)

net core获取文件路径

  • 通过注入IHostingEnvironment服务对象来取得Web根目录物理路径

 


 

还有更多的坑需要填,这里就不一一列举了,感兴趣的小伙伴可以在下面评论出你踩到的坑,我们一起来填一填。

相关文章
|
3天前
|
开发框架 前端开发 中间件
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
|
3天前
|
开发框架 缓存 NoSQL
聊聊 ASP.NET Core 中间件(一):一个简单的中间件例子
聊聊 ASP.NET Core 中间件(一):一个简单的中间件例子
|
3天前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
3天前
|
开发框架 前端开发 .NET
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
|
3天前
|
开发框架 前端开发 .NET
闲话 ASP.NET Core 数据校验(一):内置数据校验
闲话 ASP.NET Core 数据校验(一):内置数据校验
|
3天前
|
存储 开发框架 算法
ASP.NET Core 标识(Identity)框架系列(四):闲聊 JWT 的缺点,和一些解决思路
ASP.NET Core 标识(Identity)框架系列(四):闲聊 JWT 的缺点,和一些解决思路
|
3天前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
3天前
|
JSON 缓存 安全
Python pickle 二进制序列化和反序列化 - 数据持久化
Python pickle 二进制序列化和反序列化 - 数据持久化
7 0
|
3天前
|
开发框架 .NET API
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
|
3天前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法