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根目录物理路径
还有更多的坑需要填,这里就不一一列举了,感兴趣的小伙伴可以在下面评论出你踩到的坑,我们一起来填一填。